准备写一系列笔记用来记录学习设计模式的过程,同时写出自己对几种主要的设计模式的理解,以及编码实现,同时总结。 主要参考书籍就是 《Head First Design Patterns》这本书,但是书里的例子是 Java 的,但是我最近主要的工作语言是C++, 所以准备将书里的例子用C++ 实现一遍 ...
原文转自:http: c.chinaitlab.com special sjms Index.html 可以参考:https: www.cnblogs.com whiteyun category .html 一个月下来,把常见的 个设计模式好好复习并且逐个用C 实现了一遍,收获还是很大的,很多东西看上去明白了但是真正动手去做的时候发现其实还是不明白 我深知这个道理,于是不敢怠慢,不敢写什么所谓的 ...
2014-02-08 11:00 3 14986 推荐指数:
准备写一系列笔记用来记录学习设计模式的过程,同时写出自己对几种主要的设计模式的理解,以及编码实现,同时总结。 主要参考书籍就是 《Head First Design Patterns》这本书,但是书里的例子是 Java 的,但是我最近主要的工作语言是C++, 所以准备将书里的例子用C++ 实现一遍 ...
代理模式C++实现 1定义 为其他对象提供一种代理以控制对这个对象的访问 2类图 角色定义: Subject抽象主体角色,抽象类或者接口,是一个普通的业务类型定义 RealSubject具体主体角色,也叫作被委托角色,被代理角色。业务逻辑的具体执行者 Proxy代理主体角色,委托 ...
单例模式C++实现 1描述: 单例模式,又称单件模式。 定义:确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。 2具体类图描述: 2.1 StartUML内部生成模式类图 该类图由StartUML逆向生成C++代码 class Singleton ...
模板方法模式C++实现 1定义 定义一个操作的算法的框架,而将一些步骤延迟到子类中。使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。 实现方案:将算法/逻辑框架放在抽象基类中,并定义好实现接口,在子类中实现细节接口。 注:策略模式,解决的是相同的问题,只是其方案是将各个接口 ...
命令模式C++实现 1定义 将一个请求封装成一个对象,从而让你使用不同的请求把客户端参数化,对请求队列或者记录请求日志,可以提供命令的撤销和恢复功能 2类图 角色描述: Receiver接受者角色,就是干活的码农,命令传递打这里就应该被执行。 Command命令角色,对命令额封装 ...
责任链模式C++实现 1定义 使多个对象都有机会处理请求,从而避免了请求的发送者和接受者之间的耦合关系。将这些对象链成一条链,并沿着这条链传递该请求/命令,直到有对象处理它为止 注:这里的请求、命令正是可以和命令模式进行结合的地方 2类图 class Handler ...
作者:jostree 转载请注明出处 http://www.cnblogs.com/jostree/p/4251756.html 所谓简单工厂模式,是一种实例化对象的方式,只要输入需要实例化对象的名字,就可以通过工厂对象的相应工厂函数来制造你需要的对象。 简单工厂模式的核心是,对于一个父类 ...
软件领域中的设计模式为开发人员提供了一种使用专家设计经验的有效途径。设计模式中运用了面向对象编程语言的重要特性:封装、继承、多态,真正领悟设计模式的精髓是可能一个漫长的过程,需要大量实践经验的积累。最近看设计模式的书,对于每个模式,用C++写了个小例子,加深一下理解。主要参考《大话设计模式 ...