一、接口
public interface UserEngine {
Message login(User user);
Message getBalance(User user);
Message bet(User user);
}
二、接口實作類
public class UserEngineImpl extends BaseEngine implements UserEngine {
public Message login(User user) {//。。。。。。}
public Message login1(User user) {//。。。。。。}
public Message getBalance(User user) {//。。。。。。}
public Message bet(User user) {//。。。。。。}
}
三、src/目錄下 bean.properties 屬性配置檔案中
UserEngine=com.ithm.lotteryhm28.engine.impl.UserEngineImpl (接口名=實作類名)
四、工廠類中
public class BeanFactory {
// 依據配置檔案加載執行個體
private static Properties properties;
static{
properties=new Properties();
// bean.properties必須在src的跟目錄下
try {
properties.load(BeanFactory.class.getClassLoader().getResourceAsStream("bean.properties"));
} catch (IOException e) {
e.printStackTrace();
}
}
public static<T> T getImpl(Class<T> clazz)
{
String key=clazz.getSimpleName(); //clazz.getName()
String className = properties.getProperty(key);
try {
return (T) Class.forName(className).newInstance();
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
}
五、Activities中
UserEngine engine = BeanFactory.getImpl(UserEngine.class);
User user = new User();
user.setUsername("13200000000");
user.setPassword("0000000");
Message login = engine.login(user);