设计模式
文章平均质量分 81
成天天
这个作者很懒,什么都没留下…
展开
-
单例模式
浅析设计模式——单例模式1、单例类的好处之一在于唯一化实例、从而可以实现对唯一实例的受控访问该唯一性是通过将构造函数私有来实现的,既然构造函数被设置为private,那么外部函数将不能调用构造函数来创建实例(比如在外部函数中编写Singleton* singletonptr=new Singleton();将会报错)。那么问题来了,单例类虽然只能创建一个实例,但终归是要能创建嘛。为了实原创 2018-02-03 13:15:42 · 152 阅读 · 0 评论 -
观察者模式——C++实现
定义: 观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个通知对象。当这个通知对象状态发生改变时,会告知它的所有观察者对象自动更新,进而做出相应的反映。举个例子: 在一个班级里,自习课的时候我们偷偷看小说,这时候又很害怕老师突然来了,于是我们总是让坐窗户边没有看小说也没看书的班长替我们看着,老师来了就通知我们这些看小说的同学。然后我们就赶紧收起小说,假装在认真学习的样...原创 2018-03-01 21:35:01 · 298 阅读 · 0 评论 -
简单工厂模式——C++实现
如下图所示,简单工厂模式(以计算器为例):1:新建一个抽象类,将getResult方法封装为纯虚函数;2、由上述抽象类派生出各个实际计算操作的类(加、减、乘、除...);3、在一个新的类里面用静态函数来产生实际操作的对象,这个类即为工厂类;4、客户端(使用者)调用工厂类,通过加、减、乘等具体需要的操作来产生相应的对象,进而调用对应的操作:比如通过传入‘+’字符给工厂类的createOperator...原创 2018-03-01 21:40:47 · 255 阅读 · 0 评论 -
策略模式——C++实现
策略模式其实和简单工厂模式很相似,在看《大话设计模式》这本书时,一开始也是一度弄混这两个模式,关于简单工厂模式的一个介绍以及C++代码可以参考上一篇文章点击打开链接。策略模式和简单工厂模式最主要的区别在于客户端用户需要操作几个类,下面仍以加、减、乘、除计算来讲解:在上简单工厂模式中,客户端代码:int main() { double A, B; ...原创 2018-05-17 15:24:04 · 475 阅读 · 0 评论