设计模式-迭代器模式

设计模式-迭代器模式
迭代器(Iterator)模式的定义:提供一个对象来顺序访问聚合对象中的一系列数据,而不暴露聚合对象的内部表示。该模式在现代c++中已经过时。伪代码如下#include<iostream>usingnamespacestd;template<typenameT>classIt
2020年02月02日 294次浏览
设计模式-迭代器模式

设计模式-中介者模式

设计模式-中介者模式
中介者(Mediator)模式的定义:定义一个中介对象来封装一系列对象之间的交互,使原有对象之间的耦合松散,且可以独立地改变它们之间的交互。中介者模式又叫调停模式,它是迪米特法则的典型应用。#include<iostream>usingnamespacestd;classPerson;c
2020年02月01日 284次浏览
设计模式-中介者模式

设计模式-解析器模式

设计模式-解析器模式
解释器(Interpreter)模式的定义:给分析对象定义一个语言,并定义该语言的文法表示,再设计一个解析器来解释语言中的句子。也就是说,用编译语言的方式来分析应用中的实例。这种模式实现了文法表达式处理的接口,该接口解释一个特定的上下文。#include<iostream>#includ
2020年01月31日 298次浏览
设计模式-解析器模式

设计模式-访问者模式

设计模式-访问者模式
访问者(Visitor)模式的定义:将作用于某种数据结构中的各元素的操作分离出来封装成独立的类,使其在不改变数据结构的前提下可以添加作用于这些元素的新的操作,为数据结构中的每个元素提供多种访问方式。它将对数据的操作与数据结构进行分离,是行为类模式中最复杂的一种模式#include<iostre
2020年01月30日 301次浏览
设计模式-访问者模式

设计模式-职责链

设计模式-职责链
职责链(ChainofResponsibility)模式的定义:为了避免请求发送者与多个请求处理者耦合在一起,将所有请求的处理者通过前一对象记住其下一个对象的引用而连成一条链;当有请求发生时,可将请求沿着这条链传递,直到有对象处理它为止。#include<iostream>#includ
2020年01月29日 272次浏览
设计模式-职责链

设计模式-组合模式

设计模式-组合模式
组合(Composite)模式的定义:有时又叫作部分-整体模式,它是一种将对象组合成树状的层次结构的模式,用来表示“部分-整体”的关系,使用户对单个对象和组合对象具有一致的访问性。#include<iostream>#include<list>usingnamespacest
2020年01月28日 255次浏览
设计模式-组合模式

设计模式-状态模式

设计模式-状态模式
状态(State)模式的定义:对有状态的对象,把复杂的“判断逻辑”提取到不同的状态对象中,允许状态对象在其内部状态发生改变时改变其行为#include<iostream>usingnamespacestd;classNetworkState{public:NetworkState*pNe
2020年01月27日 266次浏览
设计模式-状态模式

设计模式-备忘录模式

设计模式-备忘录模式
备忘录(Memento)模式的定义:在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,以便以后当需要时能将该对象恢复到原先保存的状态。该模式又叫快照模式。#include<iostream>#include<string>usingnamespace
2020年01月26日 255次浏览
设计模式-备忘录模式

设计模式-享元模式

设计模式-享元模式
享元(Flyweight)模式的定义:运用共享技术来有効地支持大量细粒度对象的复用。它通过共享已经存在的又橡来大幅度减少需要创建的对象数量、避免大量相似类的开销,从而提高系统资源的利用率。#include<iostream>#include<map>usingnamespac
2020年01月26日 246次浏览
设计模式-享元模式

设计模式-原型模式

设计模式-原型模式
原型(Prototype)模式的定义如下:用一个已经创建的实例作为原型,通过复制该原型对象来创建一个和原型相同或相似的新对象。在这里,原型实例指定了要创建的对象的种类。用这种方式创建对象非常高效,根本无须知道对象创建的细节#include<iostream>usingnamespaces
2020年01月25日 184次浏览
设计模式-原型模式