
设计模式
设计模式
Master Cui
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
单例模式(全局地提供了一个类的唯一对象,该类的对象只创建一次,避免了创建类对象的开销)
单例模式全局地提供了一个类的唯一对象,而且类的对象只需要创建一次,避免了创建类的对象开销 代码 single.h #ifndef HEADFILE #define HEADFILE #include <iostream> using namespace std; class single { public: single() {} ~single() {} ...原创 2020-05-05 19:52:41 · 635 阅读 · 0 评论 -
策略模式(封装一系列的功能,使之可以相互替换)
策略模式和工厂方法模式很类似(感觉策略模式是工厂方法模式的一部分) 策略模式就是将一系列的功能封装起来(用工厂方法模式封装),使之可以相互替换(C++多态调用),从而使功能更加独立,与客户程序的耦合性降低(工厂模式也是这样的) 举一个卖电脑的例子,比如有一家电脑店,平时卖华硕,惠普,过了一段时间,店主打算卖苹果电脑,就需要添加和苹果电脑相关的程序 代码 头文件 common....原创 2020-04-12 12:13:59 · 501 阅读 · 0 评论 -
工厂方法(父类定义创建对象的接口,通过多态让子类来创建具体的对象)
工厂方法的意图 工厂方法主要用来创建对象,但是,具体创建什么对象,由子类来实现,父类只是封装一个虚创建对象的方法 抽象工厂的好处是在接口类中绕开的new的使用,避免因为需求变化而频繁的修改接口类,提高接口类的可复用性和可扩展性(易于维护),从而降低接口类对变化的依赖 举例 我们在做文档时,有时需要用Word,有时需要做PPT,还有时用Excel,所以,当我们创建不同类型的文件时,需要...原创 2020-04-05 11:15:07 · 737 阅读 · 0 评论 -
模板方法(设计一个稳定的父类框架,框架中的有一些步骤是可变的,将可变的步骤子类中来实现)
模板方法设计模式的意图 设计一个框架,框架中整体步骤不可变,但是其中的有一些步骤是可变的,将可变的步骤放在不同的业务或者不同的模块对应的子类中来实现 举例 我们平时玩手机,我们可以将玩手机的过程分成以下几步: 1.手机开机 2.选择软件 3.使用软件 4.锁屏 上述玩手机的步骤假设是不变的,这4步中,只有第2,3步是可变的,而第1,4步是不可变的,那么就可以将整个步骤设...原创 2020-04-04 11:44:01 · 240 阅读 · 0 评论