随笔分类 -  设计模式

摘要:抽象工厂 提供一个接口,让该接口负责创建一系列“相关或者相互依赖的对象”,无需指定它们具体的类。 class DBConnection { public: DBConnection(){ } virtual ~DBConnection(){ } virtual bool connectionStri 阅读全文
posted @ 2022-10-02 17:34 暹罗吹雪 阅读(41) 评论(0) 推荐(0)
摘要:单例模式 保证一个类仅有一个实例,并提供一个该实例的全局访问点。 懒汉模式 class Singleton { public: static Singleton* getInstance(); private: static Singleton* instance_; private: Single 阅读全文
posted @ 2022-10-02 17:33 暹罗吹雪 阅读(34) 评论(0) 推荐(0)
摘要:工厂模式 定义一个用于创建对象的接口,让子类决定实例化哪一个类,Factory Method使得一个类的实例化延迟(目的:解耦,手段:虚函数)到子类。 class SplitterFactory { public: SplitterFactory(){ } virtual ~SplitterFact 阅读全文
posted @ 2022-07-04 16:51 暹罗吹雪 阅读(31) 评论(0) 推荐(0)
摘要:面向对象设计原则 依赖倒置原则(DIP) 高层模块不应该依赖于低层模块,二者都应该依赖于抽象。 抽象不应该依赖于实现细节,实现细节应该依赖于抽象。 开放封闭原则(OCP) 对扩展开放,对更改封闭。 类模块应该是可扩展的,但是不可修改。 单一职责原则(SRP) 一个类应该仅有一个引起变化的原因。 变化 阅读全文
posted @ 2022-07-04 16:50 暹罗吹雪 阅读(38) 评论(0) 推荐(0)
摘要:装饰模式 动态(组合)地给一个对象增加一些额外的职责。就增加功能而言,Decorator模式比生成子类(继承)更为灵活(消除重复代码&减少子类个数)。 class Stream { public: virtual char* read(int size) = 0; virtual void writ 阅读全文
posted @ 2021-10-04 17:47 暹罗吹雪 阅读(41) 评论(0) 推荐(0)
摘要:桥接模式 将抽象部分(业务功能)与实现部分(平台实现)分离,使它们都可以独立地变化。 案例 某软件公司要开发一个跨平台图像浏览系统,要求该系统能够显示BMP、JPG、GIF、PNG等多种格式的文件,并且能够在Windows、Linux、UNIX等多个操作系统上运行。系统首先将各种格式的文件解析为像素 阅读全文
posted @ 2021-10-04 17:47 暹罗吹雪 阅读(103) 评论(0) 推荐(0)
摘要:适配器模式 将一个类的接口转换成客户希望的另一个接口,Adapter模式使原本由于接口不兼容而不能工作的那些类可以一起工作。 class Target { public: virtual void process() = 0; } class Adaptee { public: virtual vo 阅读全文
posted @ 2021-10-04 17:47 暹罗吹雪 阅读(49) 评论(0) 推荐(0)
摘要:职责链模式 使多个对象都有机会处理请求,从而避免请求的发送和接收者之间的耦合关系。将这些对象连成一条链,并沿着这条链传递请求,直到有一个对象处理为止。 enum ReqestType{ HANDLE1, HANDLE2, HANDLE3 }; class Reqest { public: Reqes 阅读全文
posted @ 2021-10-04 17:46 暹罗吹雪 阅读(40) 评论(0) 推荐(0)
摘要:模板模式 阶段1 //程序库开发人员 class Library { public: void step1(); void step3(); void step5(); } //应用程序开发人员 class Application { public: bool step2(); bool step4 阅读全文
posted @ 2021-10-04 17:46 暹罗吹雪 阅读(37) 评论(0) 推荐(0)
摘要:策略模式 定义一系列算法,把它们一个个封装起来,并且使它们可互相替换(变化)。该模式使得算法可独立于使用它的客户程序(稳定)而变化(扩展,子类化)。 阶段一 enum TaxBase{ CN_TAX, US_TAX, DE_TAX, }; class SalesOrder{ public: doub 阅读全文
posted @ 2021-10-04 17:43 暹罗吹雪 阅读(46) 评论(0) 推荐(0)