![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
_浮生_
More important things ahead, calm down and press forward with speed and urgency
展开
-
[设计模式] - Proxy代理模式
一、定义代理设计模式为另一个类提供了一对一的转发接口:调用代理类的FunctionA()将导致调用原始类中的FunctionA()。也就是说,代理类和原始类有相同的接口。二、结构接口 + 真实实现类 + 代理类三、Proxy模式适用的场景1.Virtual Proxy:通过代理的模式对消耗资源比较大的对象做了一个延迟加载,即什么时候用到这个对象了才去创建它;2.Remo...原创 2019-10-20 17:45:55 · 389 阅读 · 0 评论 -
[设计模式] - Singleton单例模式
一、介绍单例模式是保证一个类仅有一个实例,并提供一个访问它的全局访问点。在下面的情况下可以使用Singleton模式:1.当类只能有一个实例而且客户可以从一个众所周知的访问点访问它时;2.当这个唯一实例应该是通过子类化可扩展的,并且客户应该无需更改代码就能使用一个扩展的实例时。二、单例模式的优点和缺点:优点:1.对唯一实例的受控访问:因为Singleton类封装它的...原创 2019-08-18 22:55:07 · 299 阅读 · 0 评论 -
[设计模式] - 观察者模式
ObserverPattern.h:#ifndef OBSERVER_PATTERN_H#define OBSERVER_PATTERN_H#include <list>class IObserver{public: virtual ~IObserver() = default; virtual void update() = 0;};class ISub...原创 2019-08-11 11:23:12 · 89 阅读 · 0 评论 -
[设计模式] - 工厂模式
一、抽象基类抽象基类是包含一个或多个纯虚成员函数的类。它不是实体类,不能使用new操作符进行实例化,而只能用作一个基类,并由派生类提供纯虚方法的实现。e.g.//renderer.hclass IRenderer{public: virtual ~IRenderer() {} virtual void Render() = 0; virtual void SetViewpor...原创 2019-09-28 16:50:52 · 113 阅读 · 0 评论