设计模式(07)– 建造者模式
建造者模式1.概述建造者模式一步一步创建一个复杂的对象,它允许用户只通过指定复杂对象的类型和内容就可以构建它们,用户不需要知道内部的具体构建细节2.结构图3.角色Builder(抽象建造者):它为创建一个产品Product对象...
设计模式(06)– 桥接模式
桥接模式1.概述将抽象部分与它的实现部分分离,使它们都可以独立地变化。它是一种对象结构型模式,又称为柄体(Handle and Body)模式或接口(Interface)模式2.结构图3.角色Abstraction(抽象类):用于定义抽象类的接口,它一...
设计模式(05)– 组合模式
组合模式1.概述组合多个对象形成树形结构以表示具有“整体—部分”关系的层次结构。组合模式对单个对象(即叶子对象)和组合对象(即容器对象)的使用具有一致性,组合模式又可以称为“整体—部分”(Part-Whole)模式,它是一种对...
设计模式(04)– 适配器模式
适配器模式1.概述将一个接口转换成客户希望的另一个接口,使接口不兼容的那些类可以一起工作,其别名为包装器(Wrapper)。适配器模式既可以作为类结构型模式,也可以作为对象结构型模式2.结构图3.角色Target(目标抽象类):...
设计模式(03)– 原型模式
原型模式1.概述使用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。原型模式是一种对象创建型模式。2.结构图3.角色Prototype(抽象原型类):它是声明克隆方法的接口,是所有具体原型类的公共父类,可以是...
设计模式(02)– 单例模式
单例模式一、单例模式1.概述构造函数为private定义私有类型的成员变量通过共有的静态方法实例化该成员变量简单代码如下#include typedef struct { int value;} Singleton;Singleton* getInstance() { static Singleton ...
设计模式(01)– 工厂模式
工厂模式一、简单工厂模式1.概述定义一个工厂类,工厂类只负责创建对象,不负责实际调用相应的函数创建对象时,根据输入参数的不同,创建不同的对象。简单来讲,你需要什么对象,输入一个正确的参数,就可以获得你想要的对...
面向对象设计原则概述
面向对象设计原则一、单一职责原则二、开闭原则软件实体应对扩展开放,而对修改关闭三、里氏代换原则所有引用基类对象的地方能够透明地使用其子类的对象四、依赖倒转原则抽象不应该依赖于细节,细节应该依赖于抽象五、接口...
VScode 注释插入插件和代码格式化
VScode 注释插入插件和代码格式化一、代码格式化 VScode自带格式化功能:clang_format,默认格式化后的程序可能不太符合我们的代码规范化要求,此教程是通过修改.clang-format文件来保证代码格式化能达到我们的...
GD32F427学习记录
一、时钟控制单元(CCTL)1.简介时钟控制单元提供了一系列频率的时钟功能,包括一个内部16M RC振荡器时钟(IRC16M)、一个内部48M RC振荡器时钟(IRC48M)、一个外部高速晶体振荡器时钟(HXTAL)、一个内部32K RC振荡器时钟...