概述
一、服务提供者框架组件
服务提供者有以下几个组件:
1、服务接口,这是提供者实现的;
2、提供者注册API,这是系统用来注册实现,让客户端访问;
3、服务访问API,这是客户端用来获取服务的实例;
4、服务提供者接口,这是提供者负责创建其服务实现的实例;
二、服务提供者框架简单实现
//服务接口
public Interface Service {
public abstract serve();
}
//服务提供者接口
public Interface Provider {
Service newService();
}
//Noninstantiable class for service registration and access
public class Services {
private Services() {};
//Maps service name to services
private static final Map<String,Provider> providers = new ConcurrentHashMap<String,Provider>();
public static final String DEFAULT_PROVIDER_NAME = "<def>";
//Provider registration API
public static void registerDefaultProvider(Provider p) {
registerProvider(DEFAULT_PROVIDER_NAME,p);
}
public static void registerProvider(String name, Provider p) {
providers.put(name,p);
}
//Service access API
public static Service newInstance() {
return newInstance(DEFAULT_PROVIDER_NAME);
}
public static Service newInstance(String name) {
Provider p = providers.get(name);
if(p == null) {
throw new IllegalArgumentException("No provider registered with name: " + name);
}
return p.newService();
}
}
//服务提供者接口
public class EntityProvider implements Provider {
static{
ServiceManager.registerService("EntityService", new EntityProvider());
}
@override
protect void newService() {
return new ServiceImpl();
}
class ServiceImpl implements Service {
@override
protected void serve() {
System.out.println("service that entity provided serve");
}
}
}
//测试
public class Test {
public static void main(String[] args) {
Service s = Services.newInstance("EntityService");
s.serve();
}
}
最后
以上就是含蓄奇异果为你收集整理的设计模式-静态工厂之服务提供者框架的全部内容,希望文章能够帮你解决设计模式-静态工厂之服务提供者框架所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复