设计模式
文章平均质量分 70
听取蛙声一片
道生一,一生二,二生三,三生万物
展开
-
设计模式--适配器模式
#include<iostream> #include<vector> #include<algorithm> using namespace std; //适配器模式 将已经写好的接口 转化成目标需要的接口 struct MyPrint { void operator()(int v1, int v2) { cout << v1 + ...原创 2020-03-01 23:53:37 · 260 阅读 · 0 评论 -
设计模式 --代理模式
#include <iostream> using namespace std; //代理模式:代理模式为其他对象提供一种代理以控制对这个对象的访问 //公有接口 约束行为 class AbstractInterface { public: virtual void run() = 0; }; class MySytem :public AbstractInterface {...原创 2020-03-01 23:52:47 · 166 阅读 · 0 评论 -
设计模式 --策略模式
#include<iostream> using namespace std; //策略模式定义了一系列算法,并将每一个算法封装起来,而且使他们还可以相互替换 //策略模式让算法独立于使用它的客户而独立变化 //抽象武器 武器策略 class WeaponStrategy { public: virtual void UseWeapon() = 0; }; class Kn...原创 2020-03-01 23:52:07 · 182 阅读 · 0 评论 -
设计模式 --命令模式
#include<iostream> #include<queue> #include<Windows.h> using namespace std; //命令模式 //将一个请求封装成为一个对象,从而让我们可用不同的请求对客户进行参数化 //对请求排队或者记录请求日志,以及支持可撤销的操作。 //命令模式是一种对象行为型模式,其别名为 动作(Action...原创 2020-03-01 23:51:26 · 162 阅读 · 0 评论 -
设计模式-单例设计模式
```cpp #include<iostream> using namespace std; /* 实现单例的步骤: 1、构造函数私有化 2、增加静态私有的当前类的指针变量 3、提供静态的对外接口,可以让用户获得单例对象 */ //单例:懒汉式 class Singleton_lazy { private: Singleton_lazy(){} static S...原创 2020-02-27 22:28:06 · 170 阅读 · 0 评论 -
设计模式-抽象工厂
//抽象工厂是针对的产品族,而不是产品等级结构 //产品族:同一产地,或同一厂商 功能不同 //产品等级:功能相同,产地或厂商不同 #include <iostream> using namespace std; //抽象苹果 class AbstractApple { public: virtual void ShowName() = 0; }; //中国苹果 class ...原创 2020-02-27 22:27:26 · 163 阅读 · 0 评论 -
设计模式-工厂方法
#include<iostream> using namespace std; //工厂模式不符合 开闭原则 class AbstractFruit { public: virtual void ShowName() = 0; }; class Banana :public AbstractFruit { public: virtual void ShowName() {...原创 2020-02-27 22:26:38 · 148 阅读 · 0 评论 -
设计模式-简单工厂
#include<iostream> using namespace std; //工厂模式不符合 开闭原则 class AbstractFruit { public: virtual void ShowName() = 0; }; class Banana :public AbstractFruit { public: virtual void ShowName() {...原创 2020-02-27 22:25:38 · 156 阅读 · 0 评论