![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
快牵着我的袜子
虚心学习。
展开
-
适配器模式c++实现
适配器模式意图:将一个类的接口转换成客户希望的另外一个接口。适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。使用场景有动机地修改一个正常运行的系统的接口。 1、系统需要使用现有的类,而此类的接口不符合系统的需要。 2、想要建立一个可以重复使用的类,用于与一些彼此之间没有太大关联的一些类,包括一些可能在将来引进的类一起工作,这些源类不一定有一致的接口。 3、通过接口转换,将一个类插入另一个类系中。优点: 1、可以让任何两...原创 2020-08-06 15:29:27 · 109 阅读 · 0 评论 -
策略模式的c++实现
策略模式策略模式封装了变化,首先定义了一系列的算法,可以使用相同的方式调用所有的算法,就可以设计一个strategy基类和一个对外的context类,算法子类继承strategy基类,有效减少了各类算法之间的耦合。context包含了strategy基类的对象,还封装了统一的调用算法的接口。context初始化的时候传入具体的策略对象,根据具体的策略对象,调用其算法的方法。class Strategy{public: virtual void algorithmInterface()=0;原创 2020-08-06 09:33:55 · 105 阅读 · 0 评论 -
工厂模式的c++实现
简单工厂模式使用一个工厂类,将其他的几个实例类包含进来,当需要创建对象时,通过传入的类型,创建对应的类对象返回。typedef enum ProductType{ none, TypeA=1, TypeB}PRODUCTTYPE;class ProductBase{};class ProductA :public ProductBase{};class ProductB :public ProductBase{};class factory{public:原创 2020-08-05 11:04:46 · 90 阅读 · 0 评论 -
单例模式的c++实现
单例模式应用场景:1、资源管理,如日志、线程池2、部分功能逻辑类,只是为了处理特定业务。作用: 保证一个类只有一个对象,并提供一个全局访问点,使得系统只有唯一一个对象实例实现方法: 1.创建实例需用到构造函数,为保证只有一个实例,应显示声明构造函数为私有类型 2.同理,为了防止拷贝,复制构造函数也需要设置为私有 3.提供一个全局访问点,如静态成员函数,静态成员函数中创建一个局部类的静态对象实例返回。cl...原创 2020-08-05 10:43:55 · 83 阅读 · 0 评论