摘要: 1 基础知识 定义:在不改变原有对象的基础上,将功能附加到对象上即动态地给一个对象添加一些额外的职责。特征:提供了比继承更有弹性的替代方案。 本质:动态组合。 使用场景:扩展一个类的功能或给一个类添加附加的职责;动态给一个对象添加功能,这些功能还可以动态撤销。 优点:比继承更加灵活,继承是静态的在设 阅读全文
posted @ 2019-08-13 22:22 windy杨树 阅读(386) 评论(0) 推荐(0) 编辑
摘要: 1 基础知识 定义:提供了一个统一的接口(外观类),用来访问子系统中的一群接口。特征:定义了一个高层接口让子系统更容易使用,减少了外部与子系统内多个模块的耦合。 本质:封装交互,简化调用。 优点:简化了调用过程,无需深入了解子系统;减少系统依赖、松散耦合;符合迪米特原则。缺点:增加子系统、扩展子系统 阅读全文
posted @ 2019-08-13 19:34 windy杨树 阅读(446) 评论(0) 推荐(0) 编辑
摘要: 1 基础知识 定义:原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。特征:不需要知道任何创建的细节,不调用构造方法。本质:克隆生成对象。 原型模式会要求对象实现一个可以“克隆”自身的接口,这样就可以通过拷贝或者是克隆一个实例对象本身来创建一个新的实例。如果把这个方法定义在接口上,看起来 阅读全文
posted @ 2019-08-13 16:56 windy杨树 阅读(282) 评论(0) 推荐(0) 编辑
摘要: 1 定义域特征 定义:将一个复杂的对象构建与其表示分离,使得同样的构建过程可以创建不同的表示。特征:用户只需要指定需要建造的类型即可,对于中间的细节不考虑。 本质:分离整体构建算法和部件构造。构建一个复杂的对象,本来就有构建的过程,以及构建过程中具体的实现。生成器模式就是用来分离这两个部分,从而使得 阅读全文
posted @ 2019-08-13 14:29 windy杨树 阅读(346) 评论(0) 推荐(0) 编辑