![](https://img-blog.csdnimg.cn/2020102815340767.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
设计模式
讲解设计模式
路上的追梦人
尽人事,听天命
展开
-
设计模式之C++工厂模式
工厂模式:简单工厂模式、工厂方法模式、抽象工厂模式 工厂模式的主要作用是封装对象的创建,分离对象的创建和操作过程,用于批量管理对象的创建过程,便于程序的维护和扩展。 简单工厂模式 #include <iostream> #include <memory> //智能指针 using namespace std; //简单工厂模式 typedef enum PhoneTypeTag{ XiaoMi_Phone, IPhone_Phone, HuaW.原创 2020-12-02 11:00:25 · 190 阅读 · 0 评论 -
深入理解C++之策略模式
策略模式 定义一组算法,将每个算法封装起来,并且使得它们之间可以进行互换,这样算法能够独立于使用它的客户端而变化。也就是说这些算法所完成的功能类型是一样的,对外接口也是一样的,知识不同策略使得环境角色表现出不同的行为。 从图中可以了解到,策略模式涉及到三个角色: Context(环境角色):持有一个Strategy的引用。用来操作策略的上下文环境,屏蔽高层模块(客户端)对策略算法的直接访问,封装可能存在的变化。 Strategy(抽象策略角色):通常由一个接口或者抽象类实现。此角色出所有的原创 2020-11-20 11:57:28 · 418 阅读 · 0 评论 -
深入理解C++之模板方法模式
/* 模板方法模式 概念: 在一个方法中定义一个算法的骨架,然后将一些具体实现步骤延迟到子类中。模板方法使得子类可以不改变算法 结构的情况下,重新定义算法中的某些步骤的实现。模板方法可以为程序员提供一种代码复用的重要技巧。因为 模板方法的抽象类可以定义具体方法、抽象方法,并且该抽象方法由子类去实现。 抽象类(AbstractClass):定义抽象的原语操作,具体的子类将重定义它们以实现一个算法,实现一个模板方法,定义一个算法的骨架。该模板方法不仅调用原语操作,也调用定义 具体子类(ConcreteClas.原创 2020-11-11 13:57:07 · 180 阅读 · 0 评论 -
深入理解C++之适配器模式
/* 华为手机mate40,你即可以使用UBS接口连接电脑来充电,假如只有mate40没有电脑,怎么办呢?华为提供了mate40电源适配器。可以使用这个电源适配器充电。这个mate40的电源适配器就是类似我们说的适配器模式。(电源适配器就是把电源变成需要的电压,也就是适配器的作用是使得一个东西适合另外一个东西。)在设计模式中,也存在这样一种类似的模式,存在两个接口不同的类,可以使用一个适配器类来将一个接口转换为客户希望的另外一个接口,称为适配器模式。 */ #include <ios..原创 2020-11-09 18:06:29 · 303 阅读 · 0 评论