
Design Pattern
文章平均质量分 66
SIGXXL
这个作者很懒,什么都没留下…
展开
-
控制反转
控制反转(Inversion of Control,英文缩写为IoC)是一个重要的面向对象编程的法则来削减计算机程序的耦合问题。 控制反转还有一个名字叫做依赖注入(Dependency Injection)。简称DI。 起源 早在2004年,Martin Fowler就提出了“哪些方面的控制被反转了?”这个问题。他总结出是依赖对象的获得被反转了。基于这个结论,他为控制反转创造了一个原创 2012-08-04 17:00:36 · 1145 阅读 · 0 评论 -
“命令模式”的个人理解
命令模式包含Client(客户端代码)、Command接口(或抽象类)、ConcreteCommand(实现Command接口)、Receiver(命令的执行者)、Invoker(调用不同的命令)。 Command接口(抽象类):定义了一个命令的接受者Receiver、抽象的执行方法Execute()。 ConcreteCommand类:实现(继承)Command,将一个接受者原创 2012-08-19 14:23:11 · 790 阅读 · 0 评论 -
C++中接口与实现分离
参考《Effective C++》中条款31:将文件的编译依存关系降至最低 C++实现接口与实现分离可以有多种方式,比如利用虚函数,来实现运行时的动态绑定,本文采用另一种方法,即代理模式,同时解决了文件间编译依赖关系的问题。 第一个例子没有实现接口与实现分离,作为一个反例,文件的依赖关系如下: Name.h:定义了类Name Name.cc:定义了类Name中的方法GetName(原创 2013-05-13 20:53:38 · 1280 阅读 · 0 评论 -
单例模式——C++(线程安全)
一、懒汉模式:即第一次调用该类实例的时候才产生一个新的该类实例,并在以后仅返回此实例。 需要用锁,来保证其线程安全性:原因:多个线程可能进入判断是否已经存在实例的if语句,从而non thread safety. 使用double-check来保证thread safety.但是如果处理大量数据时,该锁才成为严重的性能瓶颈。 1、静态成员实例的懒汉模式: 1 class Sing转载 2013-06-20 11:26:10 · 2502 阅读 · 0 评论