![](https://img-blog.csdnimg.cn/2021081310490512.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
设计模式
文章平均质量分 51
面向对象,设计原则,设计模式相关文章
CrazyFox%
这个作者很懒,什么都没留下…
展开
-
大话设计模式C++实现
详情见Github:https://github.com/liubamboo/BigTalkDesignPattern。大话设计模式,讲得非常好,但是作者是用C#写的,为了方便C++程序员,使用C++写了大话设计模式的代码。原创 2023-11-24 10:03:14 · 429 阅读 · 0 评论 -
【设计模式|观察者模式】C++
1. 编码#include <iostream>#include <list>#include <string>using namespace std;/** * 观察者接口类 */class IObserver { public: virtual ~IObserver() {}; virtual void Update(const string& message_from_subject) = 0;};/** * 发布者接原创 2021-08-28 22:29:34 · 60 阅读 · 0 评论 -
设计模式之结构型之适配器模式
参考资料1. 概述1.1 一句话总结适配器模式是一种结构型设计模式,它能使接口不兼容的对象相互合作1.2 形象类比2. 编码原创 2021-08-22 14:56:12 · 46 阅读 · 0 评论 -
设计模式之结构型之装饰模式(C++)
参考资料1. 概述名称:装饰模式,装饰者模式,Wrapper,Decorator“套娃模式”更好地应对对基本功能的多种扩展,动态完成如何能更加方便地应对多种方法的任意组合?如何在运行时动态的完成,如果使用继承则是静态的,如果可能的组合的很多,子类的数量将很多通常使用组合的方式实现生活中的例子:UML图应用场景希望在运行时为对象新增额外的功能,但是不需要更改设计类的代码,则可以使用装饰模式 如果无法通过继承来扩展功能,则也可以考虑使用装饰模式实...原创 2021-08-20 17:45:45 · 105 阅读 · 0 评论 -
单例模式实现(C++)
1. 饿汉式/** * 单例模式饿汉式实现 */class Singleton {private: Singleton() {} //构造函数私有 static Singleton instance; //实例static,并且是privatepublic: static Singleton& getInstance() { return instance; // 返回实例引用 }};优点: 将耗时的初始化提前,不会出现首次调用性原创 2021-08-13 10:42:45 · 701 阅读 · 0 评论 -
桥接模式C++实现
1. 理解总结桥接模式是一种结构型设计模式, 可将一个大类或一系列紧密相关的类拆分为抽象和实现两个独立的层次结构, 从而能在开发时分别使用。代理模式是一个类与另一个类的组合,桥接模式是一组类和另外一组类的组合2. 编码实现...原创 2021-08-15 16:57:19 · 202 阅读 · 0 评论 -
c++代理模式实现
1. 参考详细示例代码2. 自己实现#include <bits/stdc++.h>using namespace std;/** * 接口 */class Subject { public: virtual void Request() const = 0;};/** * 真实类,实现了接口 */class RealSubject : public Subject { public: void Request() const overrid原创 2021-08-15 11:01:53 · 104 阅读 · 0 评论 -
c++实现建造者模式(生成器模式)
1. 参考资料设计模式学习网站2. 代码原创 2021-08-13 20:37:34 · 139 阅读 · 0 评论 -
c++实现工厂模式
1. 背景介绍参考博客2. 不使用工厂3. 简单工厂实现#include <bits/stdc++.h>using namespace std;enum PRODUCTTYPE {SFJ, XSL, NAS};/** * 肥皂基类,定义协议 */class soapBase {public: virtual void show() = 0; //纯虚函数 virtual ~soapBase() {} //基类析构函数设置为虚函数};cla原创 2021-08-13 17:36:21 · 299 阅读 · 0 评论