设计模式
qq_1410888563
这个作者很懒,什么都没留下…
展开
-
C++ 观察者模式
观察者模式用于1对多的情况:(前面写的依赖注入、控制反转就是观察者模式,看来以前被忽悠了)比如父亲回家,儿子立马做作业,妈妈开始做饭。如果人数很多,比如爷爷奶奶等等,人一多就很繁杂。主要思想:1.定义一个基类,基类里面只写接口,继承类去实现接口。2.调用类中定义一个基类变量的集合,然后调用接口函数,实现功能。#include <iostream>#include <memory>#include <vector>using namespace原创 2021-09-26 14:38:01 · 108 阅读 · 0 评论 -
C++设计模式——模板方法(Template Method)模式
很多模式在代码中用过,只是不知道叫这种名字罢了模板模式重点在于:1.基类定义纯虚接口,子类去实现2.调用的时候,用基类对象去接收子类的创建,即 A a=new B(); 其中B是继承A的。转载:C++设计模式-TemplateMethod模板方法模式 - 戒色 - 博客园 (cnblogs.com)...原创 2021-10-08 11:49:55 · 118 阅读 · 0 评论 -
C++设计模式——Strategy策略模式(观察者模式兄弟)
策略模式和模板模式相似,都是通过纯虚函数当作接口来实现。两者主要区别在于:1.模板模式采用的是继承实现2.策略模式采用的是组合实现,就是通过额外的一个类A来实现,就是将前面的基类当成A的成员对象来调用。看上去策略模式好像多此一举,实际上模板模式应该更好一点,不用去额外开销。转载:C++设计模式-Strategy策略模式 - 戒色 - 博客园 (cnblogs.com)...原创 2021-10-08 15:47:20 · 124 阅读 · 0 评论 -
C++ 设计模式
装饰模式(没太大意义):C++设计模式-Decorator装饰模式 - 戒色 - 博客园 (cnblogs.com)桥接模式:(这个模式很有意思和意义):C++设计模式-Bridge桥接模式 - 戒色 - 博客园 (cnblogs.com)原创 2021-10-10 22:03:15 · 109 阅读 · 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 · 97 阅读 · 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 · 312 阅读 · 0 评论 -
C++ 单例模式
A.hclass A{public: static A& Getinstance(); ~A()=defalut; A(const A&) =delete; A& operator=(const A&)=delete;private: A()=default;}A.cppA& A::Getinstance(){ static A m_instance; return m_ins.原创 2021-08-28 20:52:33 · 71 阅读 · 0 评论