设计模式
EmotionIS
这个作者很懒,什么都没留下…
展开
-
观察者模式
#include<iostream> #include<list> #include<string> using namespace std; class Subject; class Observer { public: Observer() {} virtual ~Observer() {} virtual void update(Subject* subject) = 0; virtual void update(string content) = .原创 2020-11-16 20:30:57 · 144 阅读 · 0 评论 -
单例模式
问题描述 现在,不管开发一个多大的系统(至少我现在的部门是这样的),都会带一个日志功能;在实际开发过程中,会专门有一个日志模块,负责写日志,由于在系统的任何地方,我们都有可能要调用日志模块中的函数,进行写日志。那么,如何构造一个日志模块的实例呢?难道,每次new一个日志模块实例,写完日志,再delete,不要告诉我你是这么干的。在C++中,可以构造一个日志模块的全局变量,那么在任何地方就都可以用了,是的,不错。但是,我所在的开发部门的C++编码规范是参照Google的编码规范的。 全局变量在项目中是能不原创 2020-08-30 15:57:15 · 73 阅读 · 0 评论 -
工厂模式使用排序算法(c++实现)
一.设计抽象排序算法基类class AbstractSort{}; 1.析构函数~AbstractSort()和排序算法sort() 设置为虚函数 2.基类公共方法print(),作用为打印数组 3.基类公共方法setNums() 设置基类私有成员nums的值 4.基类公共方法getNums() 获取基类私有成员nums的值 //抽象排序算法 class AbstractSort { private: vector<int> nums; public: AbstractSo...原创 2020-08-02 19:40:15 · 308 阅读 · 0 评论 -
策略模式+简单工厂使用排序算法(c++实现)
#include<iostream> #include<vector> #include<string> using namespace std; //抽象排序算法 //当成strategy来使用 class AbstractSort { private: vector<int> nums; public: AbstractSort(vector<int> _nums) { this->nums = _nums; } A.原创 2020-08-03 09:54:07 · 198 阅读 · 0 评论