《大话设计模式》的装饰模式的C++实现。
结构图:
Decorator.h:
#ifndef _DECORATOR_H
#define _DECORATOR_H
#include
#include
using namespace std;
//ConcreteComponent类
class CPerson
{
public:
CPerson(){};
CPerson(s...
分类:
编程语言 时间:
2014-09-22 21:09:33
阅读次数:
240
首先,设计模式的文章源自于程杰的《大话设计模式》这本书,这本书个人感觉很适合我,看着不累,能够安安心心的阅读学习。在这里十分感谢程杰的这本书,我博文中的例子会根据书上的例子来。为了不侵犯这本书的版权,我不会写上具体的代码,仅用自己写的代码截图或者思路描述,毕竟这是给我自己的记录,我写文章是为了...
分类:
数据库 时间:
2014-09-10 19:05:40
阅读次数:
258
上周从同事那里搞到一本大话设计模式的书,便看了起来,对于我这种非科班出身的人来说,还是很有用处的。这些设计模式的终极目的都是让代码更好看,更好用,更好拓展,在需求变化的时候,尽可能少的改动代码先记录自己已经学到的几个部分:1、开放——封闭原则 软件实体对于拓展的开放的,对于修改时封闭的。及对已经写....
分类:
其他好文 时间:
2014-09-05 18:09:41
阅读次数:
144
软件领域中的设计模式为开发人员提供了一种使用专家设计经验的有效途径。设计模式中运用了面向对象编程语言的重要特性:封装、继承、多态,真正领悟设计模式的精髓是可能一个漫长的过程,需要大量实践经验的积累。最近看设计模式的书,对于每个模式,用C++写了个小例子,加深一下理解。主要参考《大话设计模式》和《设计...
分类:
编程语言 时间:
2014-09-02 09:00:34
阅读次数:
370
软件领域中的设计模式为开发人员提供了一种使用专家设计经验的有效途径。设计模式中运用了面向对象编程语言的重要特性:封装、继承、多态,真正领悟设计模式的精髓是可能一个漫长的过程,需要大量实践经验的积累。最近看设计模式的书,对于每个模式,用C++写了个小例子,加深一下理解。主要参考《大话设计模式》和...
分类:
其他好文 时间:
2014-08-25 22:47:54
阅读次数:
278
厌倦了零零散散的文章分布,书评写到豆瓣、技术写到网易什么的,这样自己很容易遗忘,懒得去回顾,慢慢得就懒得去思考和动笔了,所以我决定在此再加一个书评分类,以后看了书往这里写总结,虽然这个分类开得有点晚了,不过我觉得还是有用的,对将来的回顾知识点并且能对自己掌握的知识能有直观的了解。大数据能比自己更了解...
分类:
其他好文 时间:
2014-08-23 19:02:11
阅读次数:
240
《大话设计模式》中第15章中《就不能不换DB吗?》引出了我今天要谈论的主题:抽象工厂+反射+配置文件 实现数据访问程序。当时也不甚理解啊!到了机房收费的亲身实践中,终于体会到了这对组合的奥秘。
抽象工厂模式(Abstract Factory)
提供一个创建一系列相关或相互依赖对象的接口,而无需制定它们具体的类。知道它是用来创建工厂的就OK了。
反射
提供了封装程序集、模块和类型的对...
分类:
其他好文 时间:
2014-08-22 19:45:20
阅读次数:
163
代理模式:为其他对象提供一种代理以控制对这个对象的访问。 1 /** 2 * 定义了RealSubject和Proxy的共用接口,这样就在任何使用RealSubject的地方都可以使用Proxy. 3 * @author Monica 4 * 5 */ 6 abstract class Su...
分类:
其他好文 时间:
2014-08-22 15:58:28
阅读次数:
182
简单工厂模式的最大优点在于工厂类中包含了必要逻辑判断,根据客户端的选择条件动态实例化相关的类,对于客户端来说,去除了与具体产品的依赖。工厂方法模式:定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。工厂方法模式实现时,客户端需要决定实例化哪一个工厂来实现运算...
分类:
其他好文 时间:
2014-08-22 15:45:08
阅读次数:
128
装饰模式(Decorator):动态地给一个对象添加一些额外的职责,就增加功能来说,装饰模式比生成子类更为灵活。 1 /** 2 * Component 是定义一个对象接口,可以给这些对象动态地添加职责 3 * @author Monica 4 * 5 */ 6 public abstrac...
分类:
其他好文 时间:
2014-08-21 16:44:14
阅读次数:
181