接前一篇文章:软考 系统架构设计师系列知识点之设计模式(3)
所属章节:
老版(第一版)教材
第7章. 设计模式
第2节. 设计模式实例
行为型模式可以影响一个系统的状态和行为流。通过优化状态和行为流转换和修改的方式,可以简化、优化并且提高应用程序的可维护性。行为型模式包括:
(1)Chain of Responsibility(责任链)模式
Chain of Responsibility模式可以在系统中建立一个链,这样消息可以在首先接收到它的级别被处理,或者可以定位到可以处理它的对象。
一句话概括:责任链模式为解除请求的发送者和接收者之间的耦合,而使多个对象都有机会处理这个请求。将这些对象连成一个链,并沿着这条链接传递该请求,直到有一个对象处理它。
Chain of Responsibility模式的优点如下:
在以下情况中,应该使用Chain of Responsibility模式:
(2)Command(命令)模式
Command模式在对象中封装了请求,这样就可以保存命令,将该命令传递给方法以及像任何其它对象一样返回该命令。
一句话概括:Command模式将一个请求封装为一个对象,从而可用不同的请求对客户进行参数化,将请求排队或记录请求日志,支持可撤销的操作。
Command模式的优点如下:
在以下情况中,应该使用Command模式:
(3)Interpreter(解释器)模式
Interpreter模式可以解释定义其语法表示的语言,还提供了用表示来解释语言中的语句的解释器。
一句话概括:解释器模式描述了如何为语言定义一个文法,如何在该语言中表示一个句子,以及如何解释这些句子。
Interpreter模式的优点如下:
在以下情况中,应该使用Interpreter模式:
(4)Iterator(迭代器)模式
Iterator模式为集合中的有序访问提供了一致的方法,而该集合是独立于基础集合、并与之相分离的。
一句话概括:迭代器模式提供了一种方法来访问聚合对象,而不用暴露这个对象的内部表示。迭代器模式支持以不同的方式遍历一个聚合对象。
Iterator模式的优点如下:
在以下情况中,应该使用Iterator模式:
(5)Mediator(中介者)模式
Mediator模式通过引入一个能够管理对象间消息分布的对象,简化了系统中对象间的通信。该模式可以减少对象之间的相互引用,从而提高了对象间的共耦合度,并且它还可以独立地改变其间的交互。
一句话概括:中介者模式用一个中介对象封装一系列的对象交互。中介者使得各对象不需要显式地相互调用,从而使其耦合松散,而且可以改变它们之间的交互。
Mediator模式的优点如下:
在以下情况中,应该使用Mediator模式:
(6)Memento模式
Memento模式可以保持对象状态的“快照(snapshot)”,这样对象可以在不向外界公开其内容的情况下返回到它的最初状态。
Memento模式的优点如下:
在以下情况中,应该使用Memento模式: