简单工厂模式:体现了封装、继承和多态。具体的体现方式 :工厂中创建一个抽象运算类,然后创建每一个运算类去继承。当添加新的功能的时候需要在运算工厂中创建一个类,然后再添加具体的运算即可,实现了多态,但是不利于代码的复用。
总结简单工厂模式:工厂生产抽象类,然后具体类去继承抽象类,使得工厂和具体类分离。
策略模式:把每一种算法封装起来,定义一个支持每种算法的共用接口作为策略类,让子类继承。定义一个Context对策略类对象的引用。在这个引用中根据传入的具体策略对象调用具体的算法。
总结策略模式:封装算法,在引用的选择具体的算法实现。可以与简单工厂模式结合。
装饰模式:定义一个抽象的对象接口,可以给这些对象动态的添加职责,子类分别为具体的对象接口和装饰抽象类(抽象的对象接口并不需要知道装饰抽象类),然后具体的装饰类继承装饰抽象类。具体的动态添加职责过程为:一种具体的装饰类去装饰具体对象然后作为了一个新的对象,另一种具体的装饰类再去装饰这个新的对象、、、。在客户端的界面上完全实现了把所需的功能按照正确的顺序串联起来进行控制。
总结装饰模式:具体对象类与装饰类分离,按照所需的顺序依次去装饰。