关于c++设计模式的总结
抽象工厂,决定产品系列的产品的组合,特点是创建同一款式的产品系列。缺点是增加产品组件,需要修改抽象工厂接口,影响抽象工厂子类。 builder,决定产品的各个部分的build的过程。替换相应的builder子类,就可以修改产品相应的各个part部件的实现;替换相应的Director子类,就可以修改builder组件的调用顺序(即控制创建过程)。 工厂方法,产品子类和creator子类一 一对应。不直接调用FactoryMethod操作,定义了何时调用FactoryMethod。扩展相关子类可以修改此调用时间 Prototype,产品自身就是自己的creator Singleton,产生全局的单一实例 1)以上是创建型:创建型设计模式核心是通过替换直接调用new创建具体对象这种方式,从而去client代码和产品对象之间的耦合。client都是通过接口引用工厂,通过接口引用产品,所以替换更方便。 adapter,描述了client如何做到通过target接口,来使用Adaptee的操作函数。 bridge,“抽象接口定义”和“具体实现部分”分离。分离后,可以各自发展。 composite,从共同接口派生,使对单个对象和组合对象的使用具有一致性,并且支持递归组合。 Decorator,共同的父类,接口相同,可以透明的、递归的增加额外的职责。与composite区别是只有一个组件