行为模式
职责链模式(Chain Of Responsibility)
- 解耦请求(或事件)的发送者和接受者。
- 与Compoite模式结合度很高。
- 以请求(或消息)定义成类似工厂方法的形式传递到系统中能够响应消息的位置。
命令模式(Command)
- 命令有时也可看做一个事务(Transaction)
- 一个操作的执行通常包含要调用的方法和执行该方法所需信息两部分构成。
- 命令模式能够解耦操作调用对象和信息持有对象。
- 对于一个执行,不是给出方法以及信息,而是提前将方法和信息包装成一个对象,在需要的时候调用这个对象的一个简单的方法,从而做到先前预设事务的执行。
- 将一个执行包装成一个对象的形式,有助于这个执行的共享、组合甚至是重做、撤销。
解释器模式(Interpreter)
- 定义一种文法、构造一种规则、进而去解释(理解)一个表达。
- 解释器模式通常会对于一个规则生成对应的对象树,由树中对象的intercept方法解释给定的context(即表达)。
迭代器(Interator)
- 要以不同的方式或顺序访问一个聚合对象中的元素,可以将这些访问操作抽离出来定义成不同访问模式的迭代器。
- 将遍历机制与聚合对象分离使我们可以定义不同的迭代器来实现不同的遍历策略,而无需在聚合对象的接口中列举它们。例如,过滤迭代器(FilterListIterator)可能只访问那些满足特定过滤约束条件的元素。
- 可以对同一个聚合对象,同时进行多种访问(遍历)模式。
- 迭代器要由聚合对象产生。
网友评论