摘要: 模式的定义与特点 备忘录(Memento)模式的定义:在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,以便以后当需要时能将该对象恢复到原先保存的状态。该模式又叫快照模式。 备忘录模式是一种对象行为型模式,其主要优点如下。 提供了一种可以恢复状态的机制。当用户需要时能够比较 阅读全文
posted @ 2021-08-04 18:27 8023渡劫 阅读(44) 评论(0) 推荐(0)
摘要: 模式的定义与特点 解释器(Interpreter)模式的定义:给分析对象定义一个语言,并定义该语言的文法表示,再设计一个解析器来解释语言中的句子。也就是说,用编译语言的方式来分析应用中的实例。这种模式实现了文法表达式处理的接口,该接口解释一个特定的上下文。 这里提到的文法和句子的概念同编译原理中的描 阅读全文
posted @ 2021-08-04 18:26 8023渡劫 阅读(43) 评论(0) 推荐(0)
摘要: 策略模式的定义与特点 策略(Strategy)模式的定义:该模式定义了一系列算法,并将每个算法封装起来,使它们可以相互替换,且算法的变化不会影响使用算法的客户。策略模式属于对象行为模式,它通过对算法进行封装,把使用算法的责任和算法的实现分割开来,并委派给不同的对象对这些算法进行管理。 策略模式的主要 阅读全文
posted @ 2021-08-04 18:23 8023渡劫 阅读(57) 评论(0) 推荐(0)
摘要: 模式的定义与特点 访问者(Visitor)模式的定义:将作用于某种数据结构中的各元素的操作分离出来封装成独立的类,使其在不改变数据结构的前提下可以添加作用于这些元素的新的操作,为数据结构中的每个元素提供多种访问方式。它将对数据的操作与数据结构进行分离,是行为类模式中最复杂的一种模式。 访问者(Vis 阅读全文
posted @ 2021-08-04 17:42 8023渡劫 阅读(46) 评论(0) 推荐(0)
摘要: 模式的定义与特点 迭代器(Iterator)模式的定义:提供一个对象来顺序访问聚合对象中的一系列数据,而不暴露聚合对象的内部表示。迭代器模式是一种对象行为型模式,其主要优点如下。 访问一个聚合对象的内容而无须暴露它的内部表示。 遍历任务交由迭代器完成,这简化了聚合类。 它支持以不同方式遍历一个聚合, 阅读全文
posted @ 2021-08-04 16:53 8023渡劫 阅读(42) 评论(0) 推荐(0)
摘要: 模式的定义与特点 中介者(Mediator)模式的定义:定义一个中介对象来封装一系列对象之间的交互,使原有对象之间的耦合松散,且可以独立地改变它们之间的交互。中介者模式又叫调停模式,它是迪米特法则的典型应用。 中介者模式是一种对象行为型模式,其主要优点如下。 类之间各司其职,符合迪米特法则。 降低了 阅读全文
posted @ 2021-08-04 16:26 8023渡劫 阅读(252) 评论(0) 推荐(0)
摘要: 模式的定义与特点 观察者(Observer)模式的定义:指多个对象间存在一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。这种模式有时又称作发布-订阅模式、模型-视图模式,它是对象行为型模式。 观察者模式是一种对象行为型模式,其主要优点如下。 降低了目标与观察者 阅读全文
posted @ 2021-08-04 15:54 8023渡劫 阅读(77) 评论(0) 推荐(0)
摘要: 状态模式的定义与特点 状态(State)模式的定义:对有状态的对象,把复杂的“判断逻辑”提取到不同的状态对象中,允许状态对象在其内部状态发生改变时改变其行为。 状态模式是一种对象行为型模式,其主要优点如下。 结构清晰,状态模式将与特定状态相关的行为局部化到一个状态中,并且将不同状态的行为分割开来,满 阅读全文
posted @ 2021-08-04 15:37 8023渡劫 阅读(69) 评论(0) 推荐(0)
摘要: 模式的定义与特点 责任链(Chain of Responsibility)模式的定义:为了避免请求发送者与多个请求处理者耦合在一起,于是将所有请求的处理者通过前一对象记住其下一个对象的引用而连成一条链;当有请求发生时,可将请求沿着这条链传递,直到有对象处理它为止。 注意:责任链模式也叫职责链模式。 阅读全文
posted @ 2021-08-04 14:53 8023渡劫 阅读(38) 评论(0) 推荐(0)
摘要: 命令模式的结构与实现 可以将系统中的相关操作抽象成命令,使调用者与实现者相关分离,其结构如下。 1. 模式的结构 命令模式包含以下主要角色。 抽象命令类(Command)角色:声明执行命令的接口,拥有执行命令的抽象方法 execute()。 具体命令类(Concrete Command)角色:是抽象 阅读全文
posted @ 2021-08-04 14:46 8023渡劫 阅读(44) 评论(0) 推荐(0)