读书人

《有点模式》- 服务提供者

发布时间: 2012-09-08 10:48:07 作者: rapoo

《有些模式》- 服务提供者

?/** * 服务接口 * @author Macrotea * */public interface Service {public abstract void doSomeService();}

?

?

/** * 服务提供者接口 * @author Macrotea * */public interface Provider {Service newService();}

?

?

public class ServiceFactory {private static final String DEFAULT_PROVIDER_NAME = "<def>";private static final HashMap<String, Provider> providerMap = new HashMap<String, Provider>();/*注册服务提供者*/public static void rigiserProvider(Provider p){providerMap.put(DEFAULT_PROVIDER_NAME, p);}public static void rigiserProvider(String name,Provider p){providerMap.put(name, p);}/*获得服务*/public static Service newInstanse() throws Exception{return newInstanse(DEFAULT_PROVIDER_NAME);}public static Service newInstanse(String name){Provider p=providerMap.get(name);if(p==null){throw new IllegalArgumentException("系统根据名字没有找到提供者出错:");}return p.newService();}}

?

读书人网 >软件架构设计

热点推荐