设计模式
卓耿Drogon
醉舞经阁半卷书,坐井说天阔
展开
-
设计模式-11种行为型
11种行为型模式有: 责任链模式 解释器模式 命令模式 迭代器模式:在类内部增加迭代器类,并提供访问数据的接口,例如iterator,next()。 中介者模式:将多个类之间的耦合关系,转变为多个类分别与中介类的关系。 备忘录模式:数据存档、读档。 观察者模式:观察者,被观察者,注册行为,响应(调用之前观察者注册的行为)。 状态模式:当状态改变了,行为也跟着改变了;将特定的行为封装到状态对象中,用于代替if else或switch case。每个状态只是完成事情的一部分,所有状态合起来才能完整的完成这个事情原创 2022-02-17 11:44:05 · 370 阅读 · 0 评论 -
设计模式-11种行为型之命令模式
long long ago,我写过一个DHW大话务软件,当时对命令的处理就是采用命令模式。这里简要剖析一下,所有cmd类都继承一个base抽象类,这里会用到命令模式、函数模板。 //声明一个cmd基类/接口,主要包含execute方法 class ADhwCmdExeBase { public: ADhwCmdExeBase() { } virtual E_DhwCmdExeStatus ExecuteCmd(T_Message *pMsg) = 0; virtual原创 2022-02-15 17:27:28 · 308 阅读 · 0 评论 -
设计模式-7种结构型
结构型设计模式有7种,分别是: 适配器模式 桥接模式 组合模式 装饰模式 代理模式 外观模式 享元模式 适配器模式:手机充电5V,居民入户220V,中间新增个适配类,提供接口将220V转换为5V,然后将结果输出给手机。 桥接模式:平等类的组合。形状抽象类的子类有各种形状,颜色抽象类的子类有各种形状。可以将颜色合成/聚合为各形状子类的成员,提供赋值接口。从而实现各种形状和各种颜色的组合。 组合模式:整体与部分的组合。管理者和雇员的例子。管理者也是雇员,有职位等属性,比雇员多了下属成员等属性。将相同的部分合并为原创 2022-02-14 16:45:06 · 233 阅读 · 0 评论 -
设计模式-建造者模式
构建型设计模式包括:简单工厂模式、工厂模式、抽象工厂模式、单例模式、建造者模式、原型模式。个人认为,原型模式,在java中用处较大,在c++中可以用拷贝构造函数代替。 本次实现建造者模式,主要可以解决构造函数参数过长的场景。 #ifndef BUILDER_MODE #define BUILDER_MODE #include <QDebug> class CSendLc{ public: class CBuild{ public: int a;原创 2022-02-10 15:29:23 · 645 阅读 · 0 评论 -
设计模式-单例模式
饿汉子模式 #include <QDebug> class CReject{ public: static CReject* GetInstance() { return spInst; //return &Inst; } void PrintReject(); void SetIndex(int a){m_index=a;} public://真正的单例需要把拷贝构造函数私有化 CReject(const原创 2022-01-26 11:15:43 · 732 阅读 · 0 评论