设计模式
WJsuperrunner
学无止境
展开
-
Head First 设计模式(C++实现):单例模式:Singleton
单例模式:确保一个类只有一个实例,并提供一个全局访问点 1 .经典单例模式实现 我们都很清楚一个简单的单例模式该怎样去实现:构造函数声明为private或protect防止被外部函数实例化,内部保存一个private static的类指针保存唯一的实例,实例的动作由一个public的类方法代劳,该方法也返回单例类唯一的实例。 代码如下: class singleton ...转载 2018-10-11 10:15:49 · 90 阅读 · 0 评论 -
Head First 设计模式(C++实现):组合模式:Compisite
组合模式:允许你将对象组成树形结构来表现“整体/部分”的层次结构。组合能让客户以一致性的方式处理个别对象和对象组合。 类图如下: 更为形象的表示如下: 代码如下: /*MenuComponent.h*/ #pragma once #include "UnsupportedOperationException.h" #include <string> class Men...原创 2018-10-18 15:00:01 · 276 阅读 · 0 评论 -
Head First 设计模式(C++实现):迭代器模式1:Iterator
迭代器模式:提供一种方法顺序访问一个聚合对象中的各个元素,而不暴露其内部的表示。 迭代器模式的类图如下:(图片摘自Head First 设计模式) 代码实现如下: /*MenuItem.h*/ #pragma once #include <string> using namespace std; class MenuItem { private: string name;...原创 2018-10-17 20:18:19 · 212 阅读 · 0 评论