![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
顶层建筑---设计模式
FRMMAR
这个作者很懒,什么都没留下…
展开
-
工厂模式-设计模式coding
简单工厂模式 最简单,高内聚性不好 不属于23种设计模式中的设计模式 #include <iostream> using namespace std; class Fruit { public: virtual void getFruit() = 0; }; class Banana: public Fruit { public: virtual void getFruit() { cout << "banana" << en原创 2020-09-13 22:20:34 · 42 阅读 · 0 评论 -
单例模式-设计模式coding
敲一敲单例模式代码 单例模式分位懒汉式和饿汉式。 懒汉式:使用get实例方法时,创建对象,遇上多线程问题,线程同步,加锁解锁 饿汉式:在全局空间创建对象 懒汉式单例模式 全局空间创建的类型为nullptr,调用getInstancan方法时先判断对象是否存在,若不存在,实例化 class Singleton { public: static Singleton* getInstance() { if (m_psl == nullptr) { m_psl = new Singleton;原创 2020-09-13 21:32:04 · 62 阅读 · 0 评论 -
观察者模式-设计模式coding
观察者模式理解-设计模式coding练习 OO设计主要是类的设计,所谓设计模式就是不同类成员间的关联形式 该示例观察者模式实现两个类 Overlooker 观察者类,拥有需要接收消息的对象指针列表(或其他容器); player 玩家类,拥有观察者指针。 C++代码如下: #include <iostream> #include <string> #include <list> using namespace std; /* 定义对象间一对多的依赖关系,使得每原创 2020-09-12 21:53:03 · 86 阅读 · 1 评论 -
组合模式-设计模式coding
组合模式 Composite 适用于:单个对象和组合对象的使用具有一致性, 将对象组合成树形结构以表示部分–整体。 通过递归手段来构造树形的对象结构, 并可通过一个对象来访问整个对象树 用树形结构模拟文件夹与文件的逻辑关系 #include <iostream> #include "string" #include "list" using namespace std; class AbFile { public: virtual void display() = 0; virtua原创 2021-04-05 21:03:21 · 65 阅读 · 0 评论 -
建造者模式-设计模式coding
适用于:复杂对象的构造,将对象的构建和对象的表示进行分离,解耦合 对象的表示:产品类Product 对象的构建:建造者Builder 客户端:设计师Director 核心思路:House、Builder、Director对象的类的抽象 #include <iostream> #include "string" using namespace std; class House { public: void setDoor(string door) { ..原创 2021-04-05 21:02:21 · 70 阅读 · 0 评论