摘要:
18. Mediator(中介者) 18.1 定义 用一个中介对象封装一系列对象(同事)的交互,中介者使各对象不需要显式地相互作用,从而使其耦合松散,而且可以独立地改变它们之间的交互。 18.2 优点 ■ 减少类间的依赖,将原有的一对多的依赖变成一对一的依赖,使得对象之间的关系更易维护和理解。 ■ 阅读全文
posted @ 2020-11-08 14:08
昨日明眸
阅读(372)
评论(0)
推荐(0)
摘要:
17. Iterator(迭代器) 17.1 定义 提供一种方法访问一个容器对象中各个元素,而又不需暴露该对象的内部细节 17.2 优点 ■它支持以不同的方式遍历一个聚合对象。 ■迭代器简化了聚合类。 ■在同一个聚合上可以有多个遍历。 ■在迭代器模式中,增加新的聚合类和迭代器类都很方便,无须修改原有 阅读全文
posted @ 2020-11-08 14:07
昨日明眸
阅读(127)
评论(0)
推荐(0)
摘要:
15. Chain of Responsibility(责任链) 15.1 定义 使多个对象都有机会处理请求,从而避免了请求的发送者和接收者之间的耦合关系。将这些对象连成一条链,并沿着这条链传递该请求,直到有对象处理它为止。 15.2 优点 ■ 责任链模式将请求和处理分开,请求者不知道是谁处理的,处 阅读全文
posted @ 2020-11-08 14:06
昨日明眸
阅读(105)
评论(0)
推荐(0)
摘要:
16. Command(命令) 16.1 定义 将一个请求封装成一个对象,从而让你使用不同的请求把客户端参数化,对请求排队或者记录请求日志,可以提供命令的撤销和恢复功能。 16.2.优点 ■ 类间解耦。调用者角色与接收者角色之间没有任何依赖关系,调用者实现功能时只需要调用Command中的execu 阅读全文
posted @ 2020-11-08 14:05
昨日明眸
阅读(1166)
评论(0)
推荐(0)
摘要:
14. Template Method(模板方法) 14.1 定义 定义一个操作中的算法的框架,而将一些步骤延迟到子类中。使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。 14.2 优点 ■ 封装不变的部分,扩展可变部分。不变的部分封装到父类中实现,而可变的部分则可以通过继承进行扩展 阅读全文
posted @ 2020-11-08 14:01
昨日明眸
阅读(90)
评论(0)
推荐(0)
摘要:
12. Proxy(代理) 12.1 定义 为其他对象提供一种代理以控制对这个对象的访问 按照使用目的可以将代理划分为以下几种。 ■ 远程(Remote)代理:为一个位于不同的地址空间的对象提供一个局部代表对象。这个不同的地址空间可以是在本机器中,也可以在另一台机器中。 ■ 虚拟(Virtual)代 阅读全文
posted @ 2020-11-08 13:59
昨日明眸
阅读(449)
评论(0)
推荐(0)
摘要:
13. Interpreter(解释器) 13.1定义 给定一门语言,定义它的文法的一种表示,并定义一个解释器,该解释器使用该表示来解释语言中的句子 13.2 优点 ■ 简单的语法分析工具。 ■ 扩展性,修改语法规则只要修改相应的非终结符表达式即可,若扩展语法,则只要增加非终结符类即可。 13.3 阅读全文
posted @ 2020-11-08 13:57
昨日明眸
阅读(1083)
评论(0)
推荐(0)
摘要:
11.1定义 使用共享对象可有效地支持大量的细粒度的对象。享元模式是以共享的方式高效地支持大量的细粒度对象。享元对象能做到共享的关键是区分内部状态(Internal State)和外部状态(External State)。 ■ 内部状态是存储在享元对象内部的、可以共享的信息,并且不会随环境改变而改变 阅读全文
posted @ 2020-11-08 13:55
昨日明眸
阅读(101)
评论(0)
推荐(0)
摘要:
10. Facade(外观) 10.1定义 要求一个子系统的外部与其内部的通信必须通过一个统一的对象进行。外观模式提供一个高层次的接口,使得子系统更易使用。 10.2 优点 ■ 减少系统的相互依赖,所有的依赖都是对Façade对象的依赖,与子系统无关。 ■ 提高灵活性,不管子系统内部如何变化,只要不 阅读全文
posted @ 2020-11-08 13:52
昨日明眸
阅读(98)
评论(0)
推荐(0)

浙公网安备 33010602011771号