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