![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++设计模式
不要影响我叠Q
这个作者很懒,什么都没留下…
展开
-
面向对象设计原则
设计模式是在特定环境下人们解决某类重复出现出现问题的一套成功或者有效的解决方案,为的是提高代码的可复用性。面向对象的设计原则:原则的目的:高内聚低耦合1、单一职责原则:类的职责单一,对外只提供一种功能,而引起类变化的原因都应该只有一个2、开闭原则:对扩展开放,对修改关闭。 增加功能是通过增加代码实现的而不是修改源代码3、里氏替换原则:任何抽象类(父类)出现的地方都可以用它...原创 2019-02-14 00:24:18 · 183 阅读 · 0 评论 -
C++23种设计模式之策略模式
以下内容全部来自传智播客的C++设计模式讲义:4.4策略模式概念Strategy模式也叫策略模式是行为模式之一,它对一系列的算法加以封装,为所有算法定义一个抽象的算法接口,并通过继承该抽象算法接口对所有的算法加以封装和实现,具体的算法选择交由客户端决定(策略)。Strategy模式主要用来平滑地处理算法的切换 。角色和职责Strategy: 策略(算法)抽象。Co...转载 2019-03-01 22:40:45 · 417 阅读 · 0 评论 -
C++23种设计模式之适配器模式
以下内容全部来自传智播客的 设计模式讲义:3.3适配器模式adapter:Adapter模式也叫适配器模式,是构造型模式之一,通过Adapter模式可以改变已有类(或外部类)的接口形式。角色及其职责:适用于:是将一个类的接口转换成客户希望的另外一个接口。使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。案例#include <iostream>...转载 2019-03-01 21:57:29 · 169 阅读 · 0 评论 -
C++23种设计模式之装饰者模式
以下内容全部来自传智播客的设计模式讲义:装饰模式概念装饰( Decorator )模式又叫做包装模式。通过一种对客户端透明的方式来扩展对象的功能,是继承关系的一个替换方案。装饰模式就是把要添加的附加功能分别放在单独的类中,并让这个类包含它要装饰的对象,当需要执行时,客户端就可以有选择地、按顺序地使用装饰功能包装对象。类图角色和职责适用于:装饰者模式(Dec...转载 2019-03-01 21:52:58 · 130 阅读 · 0 评论 -
C++23种设计模式之代理模式
以下内容全部来自传智播客的设计模式讲义:3.1代理模式概念Proxy模式又叫做代理模式,是构造型的设计模式之一,它可以为其他对象提供一种代理(Proxy)以控制对这个对象的访问。所谓代理,是指具有与代理元(被代理的对象)具有相同的接口的类,客户端必须通过代理与被代理的目标类交互,而代理一般在交互的过程中(交互前后),进行某些特别的处理。类图角色和职责...转载 2019-03-01 21:39:58 · 244 阅读 · 0 评论 -
C++23种设计模式之原型模式
以下内容全部来自传智播客的设计模式讲义2.6原型模式prototype概念Prototype模式是一种对象创建型模式,它采取复制原型对象的方法来创建对象的实例。使用Prototype模式创建的实例,具有与原型一样的数据。1)由原型对象自身创建目标对象。也就是说,对象创建这一动作发自原型对象本身。2)目标对象是原型对象的一个克隆。也就是说,通过Prototype模式创建的对象,不...转载 2019-03-01 21:30:28 · 134 阅读 · 0 评论 -
C++二十三种设计模式之建造者模式(Builder模式)
以下内容全部来自传智播客的设计模式讲义:建造者模式概念Builder模式也叫建造者模式或者生成器模式,是由GoF提出的23种设计模式中的一种。Builder模式是一种对象创建型模式之一,用来隐藏复合对象的创建过程,它把复合对象的创建过程加以抽象,通过子类继承和重载的方式,动态地创建具有复合属性的对象。对象的创建:Builder模式是为对象的创建而设计的模式- 创建的是一个复合...转载 2019-03-01 21:19:15 · 215 阅读 · 0 评论 -
C++ 单例模式 懒汉式版
所有关于设计模式的代码都是在学习传智播客的设计模式教程的时候做的笔记,方便以后遗忘时回来进行复习:#include<iostream>#include <mutex> //C++11标准增加的线程using namespace std;class Singleton{public: //提供全局访问点,提供访问点的函数也必须是静态的,否...原创 2019-02-13 16:46:58 · 297 阅读 · 1 评论 -
C++设计模式 单例模式饿汉式
#include<iostream>using namespace std;class Singleton{public: //提供全局访问点,提供访问点的函数也必须是静态的,否则外界就无法调用该函数 static Singleton* GetSingleton() { return single; } static void DeleteSingleton(...原创 2019-02-13 16:55:29 · 393 阅读 · 0 评论 -
C++设计模式之观察者模式
以下内容全部来自传智播客的C++设计模式课程讲义:4.6观察者模式observer概念Observer模式是行为模式之一,它的作用是当一个对象的状态发生变化时,能够自动通知其他关联对象,自动刷新对象状态。Observer模式提供给关联对象一种同步通信的手段,使某个对象与依赖它的其他对象之间保持状态同步。角色和职责Subject(被观察者) 被观察的对象。当...转载 2019-03-01 22:48:47 · 1502 阅读 · 1 评论