设计模式(C++实现)
火焰山大白菜
事物的难度远远低于对事物的恐惧!
展开
-
定义算法的框架 - 模板方法模式
现代软件专业分工之后的第一个结果是“框架与应用程序的划分”,“组件协作”模式通过晚期绑定,来实现框架与应用程序之间的松耦合,是二者之间协作时常用的模式。 “组件协作” 模式通常包含 1、模板方法模式 2、观察者模式 3、策略模式 这篇文章中我们首先来了解模板方法模式,其他两个模式在后续的文章中了解熟悉。 只要写过面向对象的程序,用过一些框架,都会使用过模板方法模式,比方QT中实现线程,那么我们一般会编写一个继承QThread的子类,然后在子类中重写...原创 2020-07-31 10:51:36 · 690 阅读 · 0 评论 -
- 工厂设计模式(简单工厂、工厂方法、抽象工厂)
工厂模式是最常用的创建型模式之一,在开始工厂模式之前,我们先来看一个场景,假如要设计一个电脑类,生成的电脑对象要包含CPU,那么可能有人会这么设计: class PC { private: string m_CPU; public: PC(string nPCName) { if("Apple" == nPCName) { ...原创 2019-04-27 12:27:36 · 304 阅读 · 0 评论 -
对象的克隆 - 原型模式
在西游记中,我们常看到孙悟空用自己的猴毛变出很多个特征跟自己一模一样的"孙悟空"来, 可能仅仅是名字不一样,孙悟空二弟、孙悟空三弟、孙悟空四弟,除了名字不一样外,其他的特征完全一模一样,这个通过孙悟空创建出的多个跟自己一模一样的克隆品,在设计模式里头,我们称之为:原型模式 在开始讲解之前,还是以一个场景来描述下这个需求,在我们工作中,常常要写日报,一个小组内的成员日报格式一样,那...原创 2019-04-27 23:45:49 · 196 阅读 · 0 评论 -
确保对象的唯一性 - 单例模式
单例模式在我们的日常开发中用的非常多,单例模式最大的特点就是只能生成一个类对象。 比方配置文件的类信息,就可以使用单例模式实现,因为配置文件是固定的,不论在代码的哪个位置获取配置项信息,得到的都应该是相同的信息。 既然只能生成一个类对象,那么我们就得考虑下如何实现这个只生成一个对象,在C++中我们知道,当定义或new一个对象时,就会调用构造函数,构造函数的执行成功,才宣誓...原创 2019-05-04 21:53:35 · 466 阅读 · 0 评论