一、接口
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();
}
}
/**
* 加载需要的实现类
* @param clazz
* @return
*/
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);