C++设计模式
flooy_MOON
qwer
展开
-
C++设计模式之简单工厂模式
简单工厂模式用于创建对象,添加新类不影响以前的代码。 核心思想是virtual函数的应用,降低层与层之间的耦合度。//简单工厂模式#include<iostream>using namespace std;//基类class COperation{public: int m_nFirst; int m_nSecond; virtual do...原创 2018-08-28 20:37:19 · 77 阅读 · 0 评论 -
设计模式之适配器模式
//设计模式之适配器模式//类适配器和对象适配器/*适配器模式将类的接口转化成客户希望的另一个接口,适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作*/#include<iostream>#include<string>using namespace std;class Player{ string m_name;public:...原创 2018-09-03 21:08:24 · 58 阅读 · 0 评论 -
设计模式之备忘录模式
//C++设计模式之备忘录模式/*备忘录模式,在不破坏封装的前提下,捕获一个内部状态,在该对象之外保存这个状态,*/#include<iostream>using namespace std;class State{ int vit; int atk; int def;public: State(int v, int a, int d...原创 2018-09-03 19:59:38 · 86 阅读 · 0 评论 -
设计模式之组合模式
//设计模式之组合模式/*组合模式将对象组合成树形结构表示部分整体的层次结构,使得用户对单个对象和组合对象的使用具有一致性透明方式和安全方式,在component中声明用来管理子对象的方法,这样实现的所有component接口的所有子类都具备父类具有的功能,具有完全一致的行为接口。安全方式在接口中不声明remove和add的方法,子类也就不需要实现它,在component中声明所有用来...原创 2018-09-03 19:16:36 · 108 阅读 · 0 评论 -
设计模式之建造者模式
#include<iostream>using namespace std;class People{public: virtual void CreateHead() = 0; virtual void CreateHand() = 0; virtual void CreateBody() = 0; virtual void CreateF...原创 2018-09-05 20:53:34 · 96 阅读 · 0 评论 -
C++设计模式之观察者模式
//观察者模式,#include<iostream>#include<string>#include<vector>using namespace std;class AbstractBoss;class AbstractWorker{public: virtual void update() = 0;};class Stoc...原创 2018-09-05 20:27:34 · 115 阅读 · 0 评论 -
C++设计模式之抽象工厂模式
//抽象工厂模式,提供一个创建一系列相关或者相互依赖对象的接口,二无需制定他们//具体的;类#include<iostream>using namespace std;class List_7{public: virtual void product() {}; virtual void sell() {};};class VIVO_7 :publi...原创 2018-09-05 16:04:05 · 239 阅读 · 0 评论 -
C++设计模式之状态模式
//状态模式,当一个对象的内在状态改变时,语序改变其行为,这个对象看起来像是改变了其类#include<iostream>using namespace std;class State;class Forenoon;class Noon;class Afternonn;class Evening;class GoHome;class Work;class Sta...原创 2018-09-05 15:17:36 · 706 阅读 · 1 评论 -
C++设计模式之桥接模式
//桥接模式,合成,聚合复用原则#include<iostream>using namespace std;class Soft{public: virtual void run() = 0;};class Notepad :public Soft{public: void run() { cout << "运行...原创 2018-09-02 15:26:58 · 99 阅读 · 0 评论 -
C++设计模式之命令模式
/*命令模式,将一个请求封装为一个对象,从而可以用不同的请求进行参数化,对请求排队或者记录请求日志,以及支持可撤销操作。*/#include<iostream>#include<string>#include<time.h>#include<list>#include<map>using namespace std;cl...原创 2018-09-02 14:36:23 · 102 阅读 · 0 评论 -
设计模式之解释器模式
//设计模式之解释器模式#include<iostream>#include<string.h>#include<stdio.h>using namespace std;class Context{public: char input[30]; char output[30];};class Expression{pu...原创 2018-08-29 21:32:00 · 72 阅读 · 0 评论 -
设计模式之访问者模式
//设计模式之访问者模式//将操作与数据结构分离开来。适用于数据结构不变,算法经常变化的情况。#include<iostream>#include<list>using namespace std;class Man;class Woman;class Action{public: virtual void getManCon(Man *ma...原创 2018-08-29 20:51:28 · 92 阅读 · 0 评论 -
C++设计模式之中介者模式
//中介者模式#include<iostream>#include<string>using namespace std;class Country;class UnitedNations{public: virtual void Declare(string message, Country* country) = 0;};class C...原创 2018-08-31 21:37:55 · 120 阅读 · 0 评论 -
C++设计模式之外观模式
//外观模式,#include<iostream>using namespace std;class stock1{public: void Buy() { cout << "股票1买入" << endl; } void Sell() { cout << "股票1卖出...原创 2018-09-06 19:27:34 · 100 阅读 · 0 评论