摘要:
访问器(visitor)模式 意图:主要将数据结构与数据操作分离。主要解决:稳定的数据结构和易变的操作耦合问题。 代码: 效果: 阅读全文
摘要:
备忘录(Memento)模式 意图:在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。 主要解决:所谓备忘录模式就是在不破坏封装的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,这样可以在以后将对象恢复到原先保存的状态。何时使用:很多时候我们总是需要记录一个对象 阅读全文
摘要:
中介者(Mediator)模式 意图:用一个中介对象来封装一系列的对象交互,中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。 主要解决:对象与对象之间存在大量的关联关系,这样势必会导致系统的结构变得很复杂,同时若一个对象发生改变,我们也需要跟踪与之相关联的对象 阅读全文
摘要:
观察者(Observer)模式也称为发布-订阅(publish-subscribe)模式,目标就是通知的发布者(发送通知),观察者就是通知的订阅者(接收通知,被通知) 意图: 定义对象间一对多的依赖关系,使得一个对象被改变,其他对象被更新 代码: 效果: 阅读全文
摘要:
意图:将一个请求封装成一个对象,从而使您可以用不同的请求对客户进行参数化。主要解决:在软件系统中,行为请求者与行为实现者通常是一种紧耦合的关系,但某些场合,比如需要对行为进行记录、撤销或重做、事务等处理时,这种无法抵御变化的紧耦合的设计就不太合适。 代码: 效果: 阅读全文