![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
hhl35
肚子好饿,早知道多刷点leetcode了
展开
-
设计模式之单例模式
定义保证1个类仅有一个实例,并提供该实例的一个全局访问点class singleton {private: singleton(); singleton(const singleton &other);public: //线程非安全版本 static singleton* getInstance() { if (m_instance == nullptr) { m...原创 2019-09-21 09:50:35 · 70 阅读 · 0 评论 -
设计模式之观察者模式
定义定义对象间一种一对多的关系,以便于当一种对象的状态变化后,所有依赖它的对象都能都得到自动更新一个例子现有一个数据,多个界面作为数据的观察者,当数据变化后,界面能自动得到通知通知机制(核心)class IObserver {public: virtual void update(int value) = 0;};数据类class Data {private: int ...原创 2019-09-21 11:34:27 · 86 阅读 · 0 评论 -
设计模式之工厂模式
背景在我们写代码时,经常会遇到下面这种情况class user { void create() { //当产品A,B变化成C,D需更改使用者类的代码, //导致使用者与具体类的紧耦合。 productA *pA = new productA; productB *pB = new productB; }};class productA {};class produ...原创 2019-09-23 10:34:38 · 65 阅读 · 0 评论 -
设计模式之抽象工厂
动机在软件系统中,往往面临着一系列相互依赖对象的创建工作,由于需求变化,往往存在更多系列对象的创建工作如何应对这种变化,避免客户程序和多系列对象创建工作的紧耦合?...原创 2019-09-23 11:31:16 · 96 阅读 · 0 评论 -
设计模式(重新理解面向对象)
软件系统设计的复杂性例如:建筑商不会在盖好的100层楼里要求加入一个地下室,但这在软件领域确实很常见的。根本原因就是软件系统设计中面临频繁的需求变化,客户对象需求的变化,平台的变化等,这也是软件系统复杂的原因。解决方法一般两种:1是分而治之,对应于面向过程的语言,如c语言2是抽象,既然不能全部掌握复杂的对象,我们选择忽视对象非本质的细节,而去处理泛化和理想化了的对象模型。程序员向下应具有...原创 2019-09-28 23:46:35 · 153 阅读 · 0 评论