服务提供者框架
是指这样一个系统,多个
服务提供者
实现一个服务
,系统为服务提供者的客户端提供多个实现,并把它它们从多个实现中解耦出来.
关系图
详解
1. 服务接口(Service Interface)
在服务接口里面定义一些提供具体服务的方法
,假设我们需要实现登陆注册的服务UserService,这个服务接口中一定有login(),register()方法,我们之后再创建这个服务接口的具体的实现类去实现login(),register()方法.
2. 服务提供者接口(Service Provider Interface)
服务提供者接口顾名思义就是定义提供什么样的服务的方法.我们在上面提供了一个服务接口,在这里就要提供一个能获取'注册登陆'服务的方法
.
例如 : getUserService() 返回值 为UserService
然后去创建实现服务提供者接口的具体实现类实现getUserService()方法.
3. 提供者注册API(Provider Registration API)
服务提供者接口的具体实现类里面去注册这个API,在类的静态初始块中去注册API,因为只有注册了API,才能享受服务.这些注册过的API交给ServiceManager管理.
4. 服务访问API(Service Acess API)
既然已经注册了API,那我们就可以向ServiceManager申请具体的服务,调用服务实例的方法.
服务访问API是灵活的静态工厂
,它构成了服务提供者框架的基础.
简单实例
服务接口 :
public interface UserService {
public void login();
public void register();
}
服务实现类:
public class UserServiceImpl implements UserService {