摘要: 3 相关模式 (1)状态模式和策略模式 这是两个结构相同,功能各异的模式,具体的在策略模式里面讲过了,这里就不再赘述。 (2)状态模式和观察者模式 这两个模式乍一看,功能是很相似的,但是又有区别,可以组合使用。这两个模式都是在状态发生改变的时候触发行为,只不过观察者模式的行为是固定的,那就是通知所有 阅读全文
posted @ 2019-08-23 17:20 windy杨树 阅读(127) 评论(0) 推荐(0) 编辑
摘要: 使用场景: (1)如果想对一个对象结构实施一些依赖于对象结构中具体类的操作,可以使用访问者模式。 (2)如果想对一个对象结构中的各个元素进行很多不同的而且不相关的操作,为了避免这些操作使类变得杂乱,可以使用访问者模式。把这些操作分散到不同的访问者对象中去,每个访问者对象实现同一类功能。 (3)如果对 阅读全文
posted @ 2019-08-23 17:16 windy杨树 阅读(124) 评论(0) 推荐(0) 编辑
摘要: 使用场景: (1)如果有多个对象可以处理同一个请求,但是具体由哪个对象来处理该请求,是运行时刻动态确定的。这种情况可以使用职责链模式,把处理请求的对象实现成为职责对象,然后把它们构成一个职责链,当请求在这个链中传递的时候,具体由哪个职责对象来处理,会在运行时动态判断。 (2)如果你想在不明确指定接收 阅读全文
posted @ 2019-08-23 17:09 windy杨树 阅读(334) 评论(0) 推荐(0) 编辑
摘要: 1 基础知识 定义:用一个中介对象来封装一系列的对象交互。中介者使得各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。 本质:封装交互 使用场景:(1)如果一组对象之间的通信方式比较复杂,导致相互依赖、结构混乱,可以采用中介者模式,把这些对象相互的交互管理起来,各个对象 阅读全文
posted @ 2019-08-23 17:02 windy杨树 阅读(421) 评论(0) 推荐(0) 编辑
摘要: 3 相关模式 (1)命令模式和组合模式 这两个模式可以组合使用。在命令模式中,实现宏命令的功能就可以使用组合模式来实现。前面的示例并没有按照组合模式来做,那是为了保持示例的简单,还有突出命令模式的实现,这点请注意。 (2)命令模式和备忘录模式 这两个模式可以组合使用。在命令模式中,实现可撤销操作功能 阅读全文
posted @ 2019-08-23 16:58 windy杨树 阅读(118) 评论(0) 推荐(0) 编辑
摘要: 1 3 相关模式 (1) 备忘录模式和命令模式 这两个模式可以组合使用。命令模式实现中,在实现命令的撤销和重做的时候,可以使用备忘录模式,在命令操作的时候记录下操作前后的状态,然后在命令撇销和重做的时候,直接使用相应的备忘录对象来恢复状态就可以了在这种撤销的执行顺序和重做的执行顺序可控的情况下,备忘 阅读全文
posted @ 2019-08-23 16:52 windy杨树 阅读(200) 评论(0) 推荐(0) 编辑