![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
凌波微步——让代码从此轻灵飘逸
闲云野雀
继续努力
展开
-
执行命令——命令模式
命令模式命令模式UML在软件系统中,“行为请求者”与“行为实现者”通常呈现一种“紧耦合”。但在某些场合,比如要对行为进行“记录、撤销/重做、事务”等处理,这种无法抵御变化的紧耦合是不合适的。在这种情况下,如何将“行为请求者”与“行为实现者”解耦?将一组行为抽象为对象,实现二者之间的松耦合。这就是命令模式#pragma once#include <iostream>#include <vector>#include <string>#include &原创 2022-05-08 19:21:29 · 214 阅读 · 0 评论 -
组合才是真谛——桥接模式
桥接模式桥接模式UML桥接模式是指将抽象部分和实现部分以“组合”的方式分离#pragma once#include <iostream>#include <vector>#include <string>#include <Windows.h>using namespace std;//桥接模式//实现类(我们来抽象手机功能举例)class PhoneSys {public: virtual void func() =原创 2022-05-08 18:15:06 · 362 阅读 · 0 评论 -
你就是唯一——单例模式
单例模式单例模式UML通过单例模式的方法创建的类在当前进程中只有一个实例#pragma once#include <iostream>#include <vector>#include <string>#include <Windows.h>using namespace std;//单例class Singleton{private: Singleton(string n):name(n){} string name原创 2022-04-23 16:42:21 · 324 阅读 · 0 评论 -
光标——迭代器模式
迭代器模式迭代器模式UML迭代器有时又称光标,可在容器对象(container,例如链表或数组)上遍访的接口,设计人员无需关心容器对象的内存分配的实现细节。原创 2022-04-21 21:09:50 · 293 阅读 · 0 评论 -
团队管理——组合模式
组合模式组合模式UML组合模式,将对象组合成树形结构以表示“部分-整体”的层次结构。#pragma once#include <iostream>#include <vector>#include <string>#include <Windows.h>using namespace std;//层级抽象节点class abstruct_node{public: virtual void add(abstruct_node原创 2022-04-17 16:54:02 · 319 阅读 · 0 评论 -
保存存档——备忘录模式
备忘录模式备忘录模式UML备忘录模式是在不破坏封闭的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将该对象恢复到原先保存的状态。#pragma once#include <iostream>#include <vector>#include <string>#include <Windows.h>using namespace std;//备份数据class SaveDate{public: Sa原创 2022-04-17 11:21:58 · 293 阅读 · 0 评论 -
强扭的瓜——适配器模式
适配器模式适配器模式UML适配器模式(有时候也称包装样式或者包装)将一个类的接口适配成用户所期待的。一个适配允许通常因为接口不兼容而不能在一起工作的类工作在一起,做法是将类自己的接口包裹在一个已存在的类中。#pragma once#include <iostream>#include <vector>#include <string>#include <Windows.h>using namespace std;//抽象接口(客户原创 2022-04-16 23:26:50 · 135 阅读 · 0 评论 -
上buff——状态模式
状态模式状态模式UML状态模式主要解决的是当控制一个对象状态的条件表达式过于复杂时的情况。把状态的判断逻辑转移到表示不同状态的一系列类中,可以把复杂的判断逻辑简化。#pragma once#include <iostream>#include <vector>#include <string>#include <Windows.h>using namespace std;class Context;//抽象状态类class原创 2022-04-16 18:51:53 · 255 阅读 · 0 评论 -
方便面工厂——抽象工厂模式
抽象工厂模式抽象工厂模式UML工厂模式中的每一个形态都是针对一定问题的解决方案,工厂方法针对的是多个产品系列结构;而抽象工厂模式针对的是多个产品族结构,一个产品族内有多个产品系列。...原创 2022-04-16 11:41:05 · 285 阅读 · 0 评论 -
放哨——观察者模式
观察者模式观察者模式UML观察者模式是一种对象行为模式。它定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。原创 2022-04-13 20:30:09 · 295 阅读 · 0 评论 -
他好像那个谁啊——建造者模式
建造者模式建造者模式UML建造者模式是设计模式的一种,将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。#pragma once#include <iostream>#include <Windows.h>using namespace std;//建造部件(防具)class Armor{public: void role(){ cout << "穿上护甲" << endl;}};//建造部件(武原创 2022-04-11 20:36:54 · 396 阅读 · 0 评论 -
领导者——外观模式
外观模式UML外观模式更像是公司中的管理模式。外观类就像是领导者,分配管理着下属的工作。#pragma once#include <iostream>#define SAFE_DELETE(ptr) if(ptr!=NULL){delete ptr; ptr = NULL;}using namespace std;//下属类class Member_A{public: void CanDo() { cout << "前端开发a" << e.原创 2022-04-10 21:54:24 · 418 阅读 · 0 评论 -
解题公式——模板方法模式
模板方法模式模板方法模式UML模板方法模式定义了一个算法的步骤,并允许子类别为一个或多个步骤提供其实践方式。让子类别在不改变算法架构的情况下,重新定义算法中的某些步骤。#pragma once#include <iostream>#define SAFE_DELETE(ptr) if(ptr!=NULL){delete ptr; ptr = NULL;}using namespace std;//抽象模板(当做是老师教的解题模板)class TempLate{pu原创 2022-04-10 15:34:18 · 287 阅读 · 0 评论 -
复制粘贴——原型模式
原型模式原型模式UML原型模式就是通过拷贝某个实例数据成员,来创建一个新的完全一样的实例。(原型模式通常在Java、C#中提及;而C++通过拷贝构造函数就可以实现,只要注意浅拷贝、深拷贝即可。)浅拷贝、深拷贝 在C++构造函数中如果没有自己实现拷贝构造函数,那么编译器会自动生成合成的拷贝构造函数(浅拷贝)。 当我们的Class数原创 2022-04-10 11:47:19 · 737 阅读 · 0 评论 -
进工厂——工厂方法模式
工厂方法模式工厂方法模式UML工厂方法模式是一种常用的类创建型设计模式,此模式的核心精神是封装类中变化的部分,提取其中个性化善变的部分为独立类,通过依赖注入以达到解耦、复用和方便后期维护拓展的目的#pragma once#include <iostream>#define SAFE_DELETE(ptr) if(ptr!=NULL){delete ptr; ptr = NULL;}using namespace std;//抽象产品class Product{p原创 2022-04-09 22:41:52 · 67 阅读 · 0 评论 -
中间商——代理模式
代理模式代理模式UML代理模式是为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。#pragma once#include <iostream>#define SAFE_DELETE(ptr) if(ptr!=NULL){delete ptr; ptr = NULL;}using namespace std;//抽象接口class Subject{public原创 2022-04-09 18:05:43 · 417 阅读 · 0 评论 -
穿衣服——装饰模式
装饰模式原创 2022-04-07 21:12:02 · 385 阅读 · 0 评论 -
关键决策——策略模式
策略模式原创 2022-04-07 19:42:22 · 504 阅读 · 0 评论 -
从头开始——简单工厂模式
简单工厂模式简单工厂模式UML简单工厂模式的实质是通过给工厂传入参数,动态的创建对应产品类对象(这些产品类继承自一个父类或接口)#pragma once#include <iostream>#define SAFE_DELETE(ptr) if(ptr!=NULL) delete ptr using namespace std;//产品基类class Product{public: virtual void Operator() = NULL;};//产原创 2022-04-05 00:11:10 · 318 阅读 · 0 评论