设计模式(17)– 备忘录模式
备忘录模式1.概述在不破坏封装的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,这样可以在以后将对象恢复到原先保存的状态。它是一种对象行为型模式,其别名为Token2.结构图3.角色Originator(原发器):它...
设计模式(16)– 中介者模式
中介者模式1.概述用一个中介对象(中介者)来封装一系列的对象交互,中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。中介者模式又称为调停者模式,它是一种对象行为型模式2.结...
设计模式(15)– 迭代器模式
迭代器模式1.概述提供一种方法来访问聚合对象,而不用暴露这个对象的内部表示,其别名为游标(Cursor)。迭代器模式是一种对象行为型模式2.结构图3.角色Iterator(抽象迭代器):它定义了访问和遍历元素的接口,声明了用于遍...
设计模式(14)– 解释器模式
解释器模式1.概述定义一个语言的文法,并且建立一个解释器来解释该语言中的句子,这里的“语言”是指使用规定格式和语法的代码。解释器模式是一种类行为型模式2.结构图3.角色AbstractExpression(抽象表达式):在抽象表达式...
设计模式(13)– 命令模式
命令模式1.概述将一个请求封装为一个对象,从而让我们可用不同的请求对客户进行参数化;对请求排队或者记录请求日志,以及支持可撤销的操作。命令模式是一种对象行为型模式,其别名为动作(Action)模式或事务(Transaction)模...
设计模式(12)– 职责链模式
职责链模式1.概述避免请求发送者与接收者耦合在一起,让多个对象都有可能接收请求,将这些对象连接成一条链,并且沿着这条链传递请求,直到有对象处理它为止。职责链模式是一种对象行为型模式2.结构图3.角色Handler(抽象处...
设计模式(11)– 代理模式
代理模式1.概述给某一个对象提供一个代理或占位符,并由代理对象来控制对原对象的访问2.结构图## 3.角色Subject(抽象主题角色):它声明了真实主题和代理主题的共同接口,这样一来在任何使用真实主题的地方都可以使用代理...
设计模式(10)– 享元模式
享元模式1.概述运用共享技术有效地支持大量细粒度对象的复用。系统只使用少量的对象,而这些对象都很相似,状态变化很小,可以实现对象的多次复用。由于享元模式要求能够共享的对象必须是细粒度对象,因此它又称为轻量级模...
设计模式(09)– 外观模式
外观模式1.概述为子系统中的一组接口提供一个统一的入口。外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用2.结构图3.角色Facade(外观角色):在客户端可以调用它的方法,在外观角色中可以知道相关的(一...
设计模式(08)– 装饰模式
装饰模式1.概述动态地给一个对象增加一些额外的职责,就增加对象功能来说,装饰模式比生成子类实现更为灵活。装饰模式是一种对象结构型模式2.结构图3.角色Component(抽象构件):它是具体构件和抽象装饰类的共同父类,声明...