博览网--设计模式(二)

一、对象创建模式

通过“对象创建”模式绕开“new”, 避免对象使用new创建过程中造成得紧耦合。 

1.  Factory Method

1) 用于隔离类对象的使用者和具体类型之间的耦合关系, 面对一个经常变化的具体类型,紧耦合关系(new)会导致软件脆弱。

2)将创建对象的动作延迟到子类, 从而实现扩展的策略,较好的解决了这种紧耦合关系

3) 只能解决单个对象的需求变化, 缺点在于要求创建方法参数相同。

2. Abstract Factory

1) 应对多系列对象构建;

2)系列对象是指在某一特定系列下对象之间互相依赖或者作用的关系, 不同系列对象之间没有依赖关系; 

3)只能应对新系列变化不能应对新对象变化。

3. Prototype

1)采用克隆的方法来完成对象创建;

2)可以利用某些框架实现深拷贝;


4. Builder

1)分步构建一个复杂对象, 分步骤是稳定的, 各个部分经常变化

2)C++构造器不可以调用虚函数, C#可以使得实现有所不同;


二、接口隔离模式

1. Facade

1)为子系统的一组接口提供一致的界面;

2)内部组件耦合关系较大, 不是简单的集合;

2. Proxy

1)为其他对象访问这个对象提供代理;

2)Proxy不一定要保持接口完整的一致性, 只要能实现间接控制, 有时损及一些透明性是可以接受的。 

3.Adapter

1)将一个类接口转换成客户希望的另一个接口。 

2)复用现存的类, 接口与复用环境不一致

4、Mediator

1) 将多个对象间复杂度的关联关系解耦,将多个对象间控制关系进行集中管理

2)与Facade模式解耦系统间的对象关联关系, Mediator模式是解耦系统内各个对象间之间的关联关系。

你可能感兴趣的:(博览网--设计模式(二))