一、定义 给分析对象定义一个语言,并定义该语言的文法表示,再设计一个解析器来解释语言中的句子。 主要角色: 抽象表达式角色:定义解释器的接口,约定解释器的解释操作,主要包含解释方法 interpret()。 ...
java
Java 设计模式之备忘录模式
一、概述 不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,以便以后当需要时能将该对象恢复到原先保存的状态。该模式又叫快照模式。 主要角色: 发起人角色:记录当前时刻的内...
Java 设计模式之访问者模式
一、概述 将作用于某种数据结构中的各元素的操作分离出来封装成独立的类,使其在不改变数据结构的前提下可以添加作用于这些元素的新的操作,为数据结构中的每个元素提供多种访问方式。它将对数据的操作与数据结...
Java 设计模式之迭代器模式
一、概述 提供一个对象来顺序访问聚合对象中的一系列数据,而不暴露聚合对象的内部表示。迭代器模式是一种对象行为型模式。 主要角色: 抽象聚合角色:定义存储、添加、删除聚合对象以及创建迭代器对象的...
Java 设计模式之中介者模式
一、定义 定义一个中介对象来封装一系列对象之间的交互,使原有对象之间的耦合松散,且可以独立地改变它们之间的交互。中介者模式又叫调停模式,它是迪米特法则的典型应用。 当对象与对象之间存在大量且复杂...
Java 设计模式之观察者模式
一、定义 指多个对象间存在一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。这种模式有时又称作发布-订阅模式、模型-视图模式,它是对象行为型模式。 主要角色: ...
Java 设计模式之状态模式
一、定义 对有状态的对象,把复杂的“判断逻辑”提取到不同的状态对象中,允许状态对象在其内部状态发生改变时改变其行为。 主要角色: 环境类角色:也称为上下文,它定义了客户端需要的接口,内部维护一个...
Java 设计模式之责任链模式
一、定义 为了避免请求发送者与多个请求处理者耦合在一起,于是将所有请求的处理者通过前一对象记住其下一个对象的引用而连成一条链;当有请求发生时,可将请求沿着这条链传递,直到有对象处理它为止。 主要...
Java 设计模式之命令模式
一、定义 将一个请求封装为一个对象,使发出请求的责任和执行请求的责任分割开。这样两者之间通过命令对象进行沟通,这样方便将命令对象进行储存、传递、调用、增加与管理。 主要角色: 抽象命令角色:定...
Java 设计模式之策略模式
一、定义 该模式定义了一系列算法,并将每个算法封装起来,使它们可以相互替换,且算法的变化不会影响使用算法的客户。策略模式属于对象行为模式,它通过对算法进行封装,把使用算法的责任和算法的实现分割开来...