设计模式笔记:组合模式 发表于 2024-03-10 | 分类于 设计模式 概述组合模式是一种结构型设计模式,允许你将对象组合成树形结构来表示”部分-整体”的层次结构。它使得客户端对单个对象和组合对象的使用具有一致性。 示例1234567891011121314151617181920212223242526272829303132333435363738394041424 ... 阅读全文 »
设计模式笔记:装饰器模式 发表于 2024-03-09 | 分类于 设计模式 是一种结构型设计模式,允许用户在不改变现有对象结构的情况下向现有对象添加新的功能。 示例 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 ... 阅读全文 »
设计模式笔记:适配器模式 发表于 2024-03-09 | 分类于 设计模式 是一种结构型设计模式,使得不兼容的接口一起工作 原始使用12345678910111213141516171819202122#include <iostream>using namespace std;class Target {public: virtual ~Tar ... 阅读全文 »
设计模式笔记:原型模式 发表于 2024-03-09 | 分类于 设计模式 原型模式是一种创建型设计模式,它用于创建重复的对象,同时又能保证性能。这种类型的设计模式提供了一种创建对象的最佳方式。这种模式涉及到一个原型类,该类负责创建对象的克隆。 在C++中,我们可以使用复制构造函数来实现原型模式。下面是一个简单的示例: 123456789101112131415161718 ... 阅读全文 »
设计模式笔记:建造者模式 发表于 2024-03-09 | 分类于 设计模式 建造者模式是一种创建型设计模式,它的主要目的是将一个复杂对象的构建与其表示分离,使得同样的构建过程可以创建不同的表示。这种模式是为了解决在编程中一些复杂对象的创建和表示的问题。 当一个类的构造函数参数超过4个,而且这些参数有些是可选的时,考虑使用建造者模式 以下是使用C++实现建造者模式的一个例子, ... 阅读全文 »
设计模式笔记:抽象工厂模式 发表于 2024-03-06 | 分类于 设计模式 抽象工厂模式定义:将有关联关系的系列产品放到一个工厂里,通过该工厂生产一系列产品。 设计模式有三大分类:创建型模式、结构型模式、行为型模式抽象工厂模式属于创建型模式 上篇 工厂方法模式 提到工厂方法模式中每个工厂只生产一种特定的产品,这样会有工厂类太多的问题,不容易维护。现实生活中,小米工厂除了生 ... 阅读全文 »
设计模式笔记:工厂方法模式(本文包括简单工厂) 发表于 2024-03-06 | 分类于 设计模式 简单工厂定义:简单工厂由一个工厂根据参数类型决定创建哪种产品的实例。简单工厂不包含在23种设计模式之内(简单工厂不满足开闭原则,后面会详细讲)举例:张三去4S店买了车,显而易见,车不是张三造出来的,车是工厂造出来的,张三获得了该车并能够使用该车,但是造车的细节张三不用知道。 铁蛋在一家汽车工厂上班, ... 阅读全文 »
设计模式笔记:单例模式 发表于 2024-03-06 | 分类于 设计模式 单例模式介绍单例模式:只能获取该类唯一一个实例对象1.构造函数私有化2.定义该类唯一的对象3.通过static静态成员方法返回该类唯一的实例对象 常用到比如日志模块、数据库模块 饿汉单例模式:程序启动时实例化对象12345678910111213141516171819202122232425262 ... 阅读全文 »
设计模式总览 发表于 2024-03-06 | 分类于 设计模式 设计模式使人们可以更加简单方便地复用成功的设计和体系结构 设计模式的分类 创建型模式,共五种:单例模式、工厂方法模式、抽象工厂模式、建造者模式、原型模式 结构型模式,共七种:适配器模式、桥接模式、组合模式、装饰器模式、外观模式、享元模式、代理模式 行为型模式,共十一种:访问者模式、模板模式、策略模式 ... 阅读全文 »
七大设计原则 发表于 2024-03-06 | 分类于 设计模式 一、单一职责原则类、函数、接口 的职责单一 二、开闭原则修改关闭,扩展开放 三、里氏替换原则:基类和子类之间的关系,基类可以被子类替代 四、依赖倒置原则依赖抽象接口,而不是具体对象 五、接口隔离原则不对外暴露无用接口,接口按照功能细分 六、迪米特法则一个对象尽量与其他对象少的交互,类间解耦,弱耦合, ... 阅读全文 »