【C++ 23种设计模式】

C++ 23种设计模式

  • [■ 创建型模式(5种)](#■ 创建型模式(5种))
    • [■ 工厂模式](#■ 工厂模式)
    • [■ 抽象工厂模式](#■ 抽象工厂模式)
    • [■ 原型模式](#■ 原型模式)
    • [■ 单例模式](#■ 单例模式)
    • [■ 建造者模式](#■ 建造者模式)
  • [■ 结构型模式(7种)](#■ 结构型模式(7种))
    • [■ 适配器模式](#■ 适配器模式)
    • [■ 桥接模式](#■ 桥接模式)
    • [■ 组合实体模式](#■ 组合实体模式)
    • [■ 装饰器模式](#■ 装饰器模式)
    • [■ 外观模式](#■ 外观模式)
    • [■ 享元模式](#■ 享元模式)
    • [■ 代理模式](#■ 代理模式)
  • [■ 行为型模式(11种)](#■ 行为型模式(11种))
    • [■ 责任链模式](#■ 责任链模式)
    • [■ 中介者模式](#■ 中介者模式)
    • [■ 策略模式](#■ 策略模式)
    • [■ 模板模式](#■ 模板模式)
    • [■ 状态模式](#■ 状态模式)
    • [■ 观察者模式](#■ 观察者模式)
    • [■ 备忘录模式](#■ 备忘录模式)
    • [■ 命令模式](#■ 命令模式)
    • [■ 访问者模式](#■ 访问者模式)
    • [■ 解释器模式](#■ 解释器模式)
    • [■ 迭代器模式](#■ 迭代器模式)

■ 创建型模式(5种)

■ 工厂模式

示例一:

cpp 复制代码
#include<iostream>
#include<string>
using namespace std;
enum CTYPE{COREA,COREB};
//定义一个基类单核
class SingleCore 
{
public:
	virtual void show() = 0;
};
//单核A
class SingleCoreA:public SingleCore
{
public:
	void show() {
		cout << "SingleCore A" << endl;
	}
};
//单核B
class SingleCoreB:public SingleCore
{
public:
	void show() {
		cout << "SingleCore B" << endl;
	}
};
//唯一的工厂,可以生成A、B两种处理器核,在内部判断
class Factory {
public:
	//基类的对象指针指向子类的对象,也就是多态
	SingleCore* CreateSingleCore(CTYPE ctype)
	{
		//工厂内部判断
		if (ctype == COREA)
		{
			//生产核A
			return new SingleCoreA();
		}
		else if (ctype == COREB)
		{
			//生产核B
			return new SingleCoreB();
		}
		else {
			return NULL;
		}
	}
};
int main() 
{
	Factory* factor = new Factory();
	factor->CreateSingleCore(COREA)->show();

	getchar();
	return 0;
}

■ 抽象工厂模式

■ 原型模式

■ 单例模式

■ 建造者模式


■ 结构型模式(7种)

■ 适配器模式

■ 桥接模式

■ 组合实体模式

■ 装饰器模式

■ 外观模式

■ 享元模式

■ 代理模式


■ 行为型模式(11种)

■ 责任链模式

■ 中介者模式

■ 策略模式

■ 模板模式

■ 状态模式

■ 观察者模式

■ 备忘录模式

■ 命令模式

■ 访问者模式

■ 解释器模式

■ 迭代器模式

相关推荐
Bender_ydc2 小时前
一个基于现代 C++23 Modules 的传统文化算法库,使用纯模块化设计实现(包含大六壬、六爻、紫薇斗数、八字、奇门遁甲)
算法·c++23
ZHE|张恒3 小时前
设计模式实战篇(五):责任链模式 — 把复杂审批/过滤流程变成可组合的“传递链”
设计模式·责任链模式
CodeAmaz3 小时前
使用责任链模式设计电商下单流程(Java 实战)
java·后端·设计模式·责任链模式·下单
大G的笔记本13 小时前
Java常见设计模式面试题(高频)
java·开发语言·设计模式
老鼠只爱大米13 小时前
Java设计模式之建造者模式(Builder)详解
java·设计模式·建造者模式·builder·23种设计模式
guangzan19 小时前
常用设计模式:职责链模式
设计模式
ZHE|张恒20 小时前
设计模式实战篇(二):业务逻辑“随时切换招式”——策略模式(Strategy Pattern)解析
设计模式·策略模式
小二·1 天前
设计模式面试题(14道含答案)
设计模式
老鼠只爱大米1 天前
Java 设计模式之适配器模式:系统集成的万能接口
java·设计模式·适配器模式·adapter·java设计模式
o0向阳而生0o1 天前
112、23种设计模式之命令模式(20/23)
设计模式·命令模式