设计模式
qq_1410888563
这个作者很懒,什么都没留下…
展开
-
C++ 观察者模式
观察者模式用于1对多的情况:(前面写的依赖注入、控制反转就是观察者模式,看来以前被忽悠了) 比如父亲回家,儿子立马做作业,妈妈开始做饭。如果人数很多,比如爷爷奶奶等等,人一多就很繁杂。 主要思想: 1.定义一个基类,基类里面只写接口,继承类去实现接口。 2.调用类中定义一个基类变量的集合,然后调用接口函数,实现功能。 #include <iostream> #include <memory> #include <vector> using namespace原创 2021-09-26 14:38:01 · 110 阅读 · 0 评论 -
C++设计模式——模板方法(Template Method)模式
很多模式在代码中用过,只是不知道叫这种名字罢了 模板模式重点在于: 1.基类定义纯虚接口,子类去实现 2.调用的时候,用基类对象去接收子类的创建,即 A a=new B(); 其中B是继承A的。 转载:C++设计模式-TemplateMethod模板方法模式 - 戒色 - 博客园 (cnblogs.com) ...原创 2021-10-08 11:49:55 · 122 阅读 · 0 评论 -
C++设计模式——Strategy策略模式(观察者模式兄弟)
策略模式和模板模式相似,都是通过纯虚函数当作接口来实现。 两者主要区别在于: 1.模板模式采用的是继承实现 2.策略模式采用的是组合实现,就是通过额外的一个类A来实现,就是将前面的基类当成A的成员对象来调用。 看上去策略模式好像多此一举,实际上模板模式应该更好一点,不用去额外开销。 转载:C++设计模式-Strategy策略模式 - 戒色 - 博客园 (cnblogs.com) ...原创 2021-10-08 15:47:20 · 131 阅读 · 0 评论 -
C++ 设计模式
装饰模式(没太大意义) :C++设计模式-Decorator装饰模式 - 戒色 - 博客园 (cnblogs.com) 桥接模式:(这个模式很有意思和意义) :C++设计模式-Bridge桥接模式 - 戒色 - 博客园 (cnblogs.com)原创 2021-10-10 22:03:15 · 111 阅读 · 0 评论 -
设计模式--Prototype模式(原型模式)思考
原型模式图 原型模式 重点:(对指针方面概念没清楚) 1.指针变量在32位下,大小为4字节,原因是32位的寻址空间是2^32, 即32个bit,也就是4个字节。 指针变量在64位下,大小为8字节,原因是64个bit,也就是8个字节。 2.指针有自己的地址,所以at和b的地址不一样,但指向的内容是一样的,只要一个内容改变,其他内容也发生变化 3.原型模式可以拷贝一份实例,且内容和当前模型完全一致。原型模式和new有点像,但是new出来的对象是空对象,像得到和原来模型内容一致需要做赋值等等很多.原创 2022-02-22 22:12:28 · 107 阅读 · 0 评论 -
单例+工厂模式(注册函数/注册类)
单例+工厂注册函数 using Func = std::function<bool(int)>; class SingleMethod { public: static SingleMethod& Instance(); ~SingleMethod() = default; SingleMethod(const SingleMethod&) = delete; SingleMethod& operator=(const SingleMe原创 2022-03-11 22:29:36 · 320 阅读 · 0 评论 -
C++ 单例模式
A.h class A { public: static A& Getinstance(); ~A()=defalut; A(const A&) =delete; A& operator=(const A&)=delete; private: A()=default; } A.cpp A& A::Getinstance() { static A m_instance; return m_ins.原创 2021-08-28 20:52:33 · 73 阅读 · 0 评论