天天看點

6、業務隔離(工廠設計模式)

一、接口

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);

繼續閱讀