使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这些对象连成一条链,并沿着这条链发送该请求,直到有一个对象处理它为止。
为其他对象提供一种代理以控制对这个对象的访问。
将抽象与实现分离开来,使它们可以独立变化。
实现对象的复用:利用共享的方式来支持大量细粒度的对象,这些对象一部分内部状态是相同的
将对象组合成树形结构来表示“整体/部分”层次关系,允许用户以相同的方式处理单独对象和组合对象。
将抽象与实现分离开来,使它们可以独立变化。
提供一个接口,用于创建**相关的对象家族** 。也就是说创建了很多对象而不是一个对象,且这些对象是相关的,必须一起创建出来。
**工厂方法是只用于创建一个对象。**
简单工厂 目的 在创建一个对象时不向客户暴露内部细节,并提供一个创建对象的通用接口。 类图 简单工厂不是设计模式,更像是一种编程习惯。 它把实例化的操作单独放到一个类中,这个类就成为简单工厂类,让简单工厂类来决定应该用哪个具体子类来实例化。 把客户类和具体子类的实现解耦,客户类不再需要知道有哪些子类以及应当实例化哪个子类。因为客户类往往有多个,不使…
封装一个对象的构造过程,并允许按步骤构造。
提供了一个统一的接口,用来访问子系统中的一群接口,从而让子系统更容易使用。