![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
新编设计模式
文章平均质量分 57
、、、、南山小雨、、、、
秋风吹湘水,落叶满南山.
展开
-
C++状态模式
制作茶和制作咖啡的流程,是相似的,把相似部分提取出来,作为模板。下次做其他类似的直接使用模板,这就是模板思维。思路很简单,直接看代码。makefile文件。Exe : Template.o g++ -o Exe Template.omain.o : Template.cpp g++ -c -g Template.cpprm : Template.o#include <iostream>#include <string>using namespace std;原创 2021-12-13 10:02:41 · 637 阅读 · 0 评论 -
杨过小龙女玉女心经篇--简单工厂模式
Mountain:终南山Single_arm:杨过Little_dragon_maiden:小龙女Jade girl's Heart Sutra:玉女心经Dust_world:尘世being silent and your palm:黯然销魂掌#include <iostream>#include <string>using namespace std;enum MARTIAL{ single_arm, little_dragon_maide原创 2021-12-08 12:53:55 · 502 阅读 · 0 评论 -
代理模式C++实现
学了C++基本的语法都知道继承可以让子类拥有更多的功能,除了继承还有组合,委托,也能让一个类的功能增加。设计模式,这个设计是设计继承,组合,委托,之间相互叠加的方式,让其符合业务需求。代理模式相对简单很多,当然这需要你对委托熟悉。在一个类中,把另一个类的对象指针作为它的数据成员,在访问这个成员前,需要满足一定的条件,很简单,直接看代码。实测有效,可直接运行。Exe : Proxy.o g++ -o Exe Proxy.omain.o : Proxy.cpp g++ -c -g Proxy.cpp原创 2021-11-24 11:33:29 · 259 阅读 · 0 评论 -
观察者模式C++实现
观察者模式如果你能理解委托,那么观察者模式对你来说很简单。委托,就是在一个类A里包含另一个类B的对象的指针作为本类的数据成员。因此此类A就有了调用类B里函数成员的能力。观察者模式的本质就是托管。在代码中可以清楚看到这些。下面的案例中主体(相当类A)添加了list链表来存储多个来自观察者类(相当于类B)的对象实例的指针。Exe : Observer.o g++ -o Exe Observer.omain.o : Observer.cpp g++ -g -c Observer.cppclean原创 2021-11-23 09:18:51 · 562 阅读 · 0 评论 -
中介模式C++实现
中介模式中介模式是对委托的复杂运用,比如说两个类中,类A中含类B的对象指针作为数据成员,类B中含类A的对象指针作为数据成员。在下面的例子中,中介含有租房者和房东的对象指针,租房者和房东也含有中介的对象指针。完成业务,租房者可以运用其包含的中介对象指针发送给中介包含的房东类的对象的函数成员。房东发送给租房者也一样,具体见代码。Exe : Mediator.o g++ -o Exe Mediator.omain.o : Mediator.cpp g++ -c -g Mediator.cpprm :原创 2021-11-19 08:39:21 · 588 阅读 · 0 评论 -
工厂模式C++实现
//非简单工厂模式Exe : Factory.o g++ -o Exe Factory.omain.o : Factory.cpp g++ -g -c Factory.cppclean : rm Factory#include <iostream>#include <string>using namespace std;class Core{public: virtual void show() = 0;};class Core_A : pu原创 2021-11-18 08:39:36 · 231 阅读 · 0 评论 -
ktv灯光管理--外观模式
外观模式自定义一个KTV模式,比如灯光亮,麦克风开,音响开等,将这些集中在一个类中,进行管理,这个模式非常简单,本例子也比较简洁。Exe : Facade.o g++ -o Exe Facade.omain.o : Facade.cpp g++ -c -g Facade.cpprm : Facade#include <iostream>#include <string>using namespace std;//外观模式class Light{pu原创 2021-11-17 08:50:58 · 147 阅读 · 0 评论 -
令狐冲独孤九剑篇--策略模式
策略模式《独孤九剑》在金庸小说《神雕侠侣》、《笑傲江湖》中提到 为「剑魔」独孤求败所创,以无招胜有招,杀尽仇寇,败尽英 雄,天下更无抗手,唯隐居深谷以雕为友,『呜呼!群雄束手,长剑空利,不亦悲夫!生平欲求敌手,而不可得,诚寂寥难堪也』最后埋剑空谷,茕茕了此一生。做技术的多么渴望这种状态,慢慢磨炼自己的功夫,笔者少年也是个功夫迷,并且相信轻功的存在,学校中,反复跳上乒乓球台,锤炼轻功;村子里,来回助跑,废弃的老墙蹬倒了好几堵。现在做技术了,这种心态还在,感觉只要不停的学习锤炼,就能疾风快马,仗剑天涯。原创 2021-11-15 09:52:19 · 212 阅读 · 0 评论 -
超级赛亚人悟空与弗利沙的战斗篇--状态模式
状态模式对于刚刚学完C和C++语法的同学来说,下一步就是学习设计模式和数据结构与算法了,这个技术大佬,后面才能有高级的操作,看高阶的书,我的博客这个两个模块都有记录,想了解的可以看下,分为前编和新编,新编是最近出的。这些代码都是实测可执行的,且去掉了繁琐的部分,只保留思想,如设计模式,这要能体现思想就好,简单和简洁才更容易入门,当你学会了这个思想,那么无论什么样的复杂度随你在工作中添加。新编系列很多根据<<射雕英雄传>><<神雕侠侣>>等武侠小说,<原创 2021-11-14 11:15:23 · 827 阅读 · 0 评论 -
孙猴子装饰七十二变篇--装饰器模式C++实现
#include <iostream>#include <string>using namespace std;//人物://WuKong 悟空//Heart_Hole 菩提老祖学艺处,学会七十二变等//West_Sea 海,找到金箍棒//装饰器模式class WuKong{public: bool stick = false; bool change_72 = false; string name = "Sunwukong";原创 2021-11-11 08:43:12 · 470 阅读 · 0 评论 -
黄药师及其五大弟子功夫继承关系篇----命令模式C++实现
学了C++基本的语法都知道继承可以让子类拥有更多的功能,除了继承还有组合,委托,也能让一个类的功能增加。设计模式,这个设计是设计继承,组合,委托,之间相互叠加的方式,让其符合业务需求。命令模式是委托和继承的运用实例,它把一个类的函数转换成一个对象。通过多个类把一个类A作为它的委托,在各自类中调用这个类A的不同函数来实现。这样做看似有些多次一举,但如果碰到这样的需求,那这是很好的专家级的解决方案。如果我们的要调用的函数以千计,此设计模式可把这些函数转换为一个个对象,然后把这些对象放进容器里,这样我们可以像处原创 2021-11-10 08:55:12 · 1088 阅读 · 0 评论 -
裘千尺裘千仞裘千丈与杨过篇--责任链模式C++实现
学了C++基本的语法都知道继承可以让子类拥有更多的功能,除了继承还有组合,委托,也能让一个类的功能增加。设计模式,这个设计是设计继承,组合,委托,之间相互叠加的方式,让其符合业务需求。责任链模式是继承 +委托的运用。在以下代码中,定义一个抽象管理者类,派生经理类,总监类,总经理类。有些决定经理可以做,如果经理不能做,那么调用其委托的总监来做,若总监也不能做,则调用其委托的总经理来做。这些代码都是在学习这些的过程中码的。。。。。上代码,亲测有效!Exe : Chain.o g++ -o Ex.原创 2021-11-09 09:01:39 · 331 阅读 · 0 评论 -
武侠小说之令狐冲篇--适配器模式C++
学了C++基本的语法都知道继承可以让子类拥有更多的功能,除了继承还有组合,委托,也能让一个类的功能增加。设计模式,这个设计是设计继承,组合,委托,之间相互叠加的方式,让其符合业务需求。适配器要完场什么业务呢?假如有个一类A,一个类B,类A想调用类B的函数。让类A包含类B的对象指针作为A的数据成员即可,现在的问题是,业务不允许改变类A。那么我们让类A派生一个子类C,这个子类中包含类B的对象指针作为A的数据成员,问题就解决了。把类Cnew出来实例指针赋值给类A定义的对象指针,那么类A就可以调用C中的B的.原创 2021-11-08 08:45:16 · 297 阅读 · 0 评论