C++设计模式
文章平均质量分 70
fyzy
这个作者很懒,什么都没留下…
展开
-
c++(Qt)多线程单例模式的双检测实现
看到Singleton,学过设计模式的都知道,就是单例模式,意思是保证程序在执行时某个变量只有一个实例。class Singleton {public: static Singleton * getInstance() {}private: Singleton(): {} ~Singleton(): {} static Singleton * instance;} Singleton * Singleton::instance = NULL; Si原创 2021-01-19 14:45:18 · 349 阅读 · 0 评论 -
Observer模式(观察者模式)---行为型模式
Observer模式应该可以说是应用最多、影响最广的模式之一,因为Observer的一个实 例 Model/View/Control(MVC)结构在系统开发架构设计中有着很重要的地位和意义,MVC 实现了业务逻辑和表示层的解耦。个人也认为Observer模式是软件开发过程中必须要掌握和使用的模式之一。在MFC中,Doc/View(文档视图结构)提供了实现MVC的框架结构 (有一个从设计模式(Observer模式)的角度分析分析Doc/View的文章正在进一步的撰写 当中,遗憾的是时...原创 2021-01-15 21:17:46 · 686 阅读 · 0 评论 -
C++Template(模板方法)模式-行为型模式
模板方法属于行为型设计模式,行为型设计模式主要关注对象之间职责分配和算法的问题。类行为型模式使用继承来分配类之间的职责,模板方法就是个类行为型模式。对象行为型模式使用组合来分配职责。在我们构建软件的过程中大部分时候我们都是在思考实体之间的职责,怎样的职责分配最合理,不至于过重,又不至于过轻,而且又不越权。在面向对象系统的分析与设计过程中经常会遇到这样一种情况:对于某一个业务逻辑 (算法实现)在不同的对象中有不同的细节实现,但是逻辑(算法)的框架(或通用的应用 算法)是相同的。Template提供了这种情况.原创 2021-01-15 21:13:13 · 176 阅读 · 0 评论 -
C++设计模式☞策略模式(strategy模式)--------------------------行为型模式
Strategy 模式和 Template 模式要解决的问题是相同(类似)的,都是为了给业务逻辑(算 法)具体实现和抽象接口之间的解耦。Strategy 模式将逻辑(算法)封装到一个类(Context) 里面,通过组合的方式将具体算法的实现在组合对象中实现,再通过委托的方式将抽象接口 的实现委托给组合对象实现。State 模式也有类似的功能,他们之间的区别将在讨论中给出。UML结构图如下。...转载 2020-01-08 14:03:30 · 193 阅读 · 0 评论 -
设计模式之☞状态模式(state模式)------------------行为型模式
状态模式:状态模式本质就是状态间的切换的。在状态比较少,不必实现状态逻辑和动作分离,可以考虑使用switch/case代替。1)当状态数目不是很多的时候,Switch/Case 可能可以搞定。但是当状态数目很多的时 候(实际系统中也正是如此),维护一大组的 Switch/Case 语句将是一件异常困难并且容易出 错的事情。2)状态逻辑和动作实现没有分离。在很多的系统实现中,动作的实现代...转载 2020-01-08 11:05:54 · 229 阅读 · 0 评论