1、各模式的区别
创建类模式:
单例模式、工厂模式、抽象工厂模式、建造者模式、原型模式
结构类模式:
适配器模式、桥接模式、组合模式、装饰者模式、门面模式、享元模式、代理模式。
行为类模式:
观察者模式、策略模式、模板方法模式、状态模式、访问者模式、备忘录模式、中介者模式、迭代器模式、解释器模式、命令模式、责任链模式
代理模式与装饰者模式
装饰者模式是代理模式的一种特殊应用。
两者有共同的接口,但是
代理模式侧重对代理过程的控制
装饰者模式侧重对功能的加强,变化
命令模式与策略模式
策略模式将每个功能封装一个类,使用哪种功能的类完成相应的功能,注重策略的变换
命令模式有一个接收者,命令模式注重请求和接收的解耦
中介者模式与门面模式
中介者模式主要是协调各同事类,使之解耦,主要对内
门面模式主要将各功能模块封装、屏蔽功能内部细节,提供给外部简单的接口,主要对外
适配器模式与桥接模式
适配器是改变已有的两个接口,让他们相容。
桥接模式是分离抽象化和实现,使两者的接口可以不同,目的是分离。