第五步:降低程序的依赖度
设计模式的应用
1、工厂模式与依赖反转原则
依赖反转:面向接口编程,业务逻辑不为更底层的具体实现所耦合。
工厂模式的实质:当客户程序需要某个实现类时,则通过某个关键字(如id)询问工厂,由工厂去寻找这个类,创建它,并将它的一个实例返回给客户程序。(核心-工厂类,保证单例)
如:利用spring来配置和创建工厂
2、外部接口与适配器模式-与外部系统解耦
适配器的核心是接口和它的实现类,面向接口编程。
如repository的使用,integration模块的client类
3、继承的泛滥与桥接模式
优先使用组合而不是继承。
4、方法的解耦与策略模式
策略模式就是为程序中的某个方法定义一系列执行策略,对每一个执行策略进行封装,而由运行中的对象去选择需要采用哪个或哪些执行策略。
5、过程的解耦与命令模式
对原有程序经过步骤化及抽取方法后,运用“抽取类”将各个步骤方法抽取出来,形成命令类,每个命令类都有一个统一方法,如do(),并对所有的命令类抽取出一个接口。
如果希望在spring框架之外独立运行,可应用BuildFactoryTemplate模板类为其单独创建工厂。
6、透明的功能扩展与设计-组合模式与装饰者模式
spring配置
<bean>
<property>
<list>
<ref/>
<ref/>
</list>
</property>
</bean>