6、业务隔离(工厂设计模式)
2014-08-07 12:35
344 查看
一、接口
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);
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);
相关文章推荐
- 浅谈应用工厂模式和单例在Android中实现业务隔离
- 利用工厂设计模式实现业务层和dao层的解耦
- 业务系统数据库设计常见的隔离和共享模式
- GOF业务场景的设计模式-----工厂模式
- 设计模式之 抽象工厂 封装业务逻辑层和Dao层
- java深入浅出设计模式----简单的工厂模式(一)----业务逻辑分离
- .NET实用设计模式:工厂模式(Factory)
- 设计模式:工厂
- 简单工厂设计模式-设计模式(1)
- 设计模式之Factory工厂模式
- 设计模式之工厂方法
- 转:C#设计模式之简单工厂篇
- .NET中的设计模式一:工厂模式
- C#设计模式之简单工厂篇
- C#设计模式之简单工厂篇
- .NET实用设计模式:工厂模式(Factory)
- 设计模式之-简单工厂、工厂方法、抽象工厂
- 设计模式[2]-旧话重提之工厂模式
- Dot NET设计模式—反射工厂
- 设计模式之 工厂方法(Factory)------对象创建型模式