一、框架定义
服务提供者框架:多个服务提供者实现一个服务,系统为服务提供者的客户端提供多个实现,并把他们从多个实现中解耦出来。
二、框架结构
1.服务接口(Service Interface):抽象服务,定义业务逻辑实现的协议。实际服务由服务提供者实现。
2.服务访问接口(Service Access API ):获取服务提供者实际实现的服务实例。
3.提供者注册接口(Provider Registration API ):在系统中实现服务提供者注册,从而添加可供选择的服务提供者。
4服务提供者接口(Service Provider Interface ):实现该服务提供者具体实现服务,创建服务实现的实例。
三、案例分析
服务提供者框架其实可以简单的类比为供货关系。比如有一家服装店,需要春夏秋冬各季的衣服,然而服装店并不生产衣服(仅定义服务,即具体服装款式,布料等要求),服装店会到批发市场拿货。那么批发市场内各服装厂会按照服装店的要求去生产衣服。此时各服装厂就是服务提供者,具体的服务就是按服装店要求生产各季的衣服。
分析:
服务提供者:批发市场内的各服装厂商。
服务:提供服装店要求的各季衣服。
完整流程:服装店规定衣服款式、布料等要求(服务接口),然后到批发市场众多厂商中找一家衣服厂商供货(服务访问接口),其中这些厂商都是在批发市场注册过的厂家(提供者注册接口),最后厂商生产供应满足要求的衣服(服务提供者接口)。