设计模式六大原则(1):单一职责原则定义:不要存在多于一个导致类变更的原因。通俗的说,即一个类只负责一项职责。问题由来:类T负责两个不同的职责:职责P1,职责P2。当由于职责P1需求发生改变而需要修改类T时,有可能会导致原本运行正常的职责P2功能发生故障。解决方案:遵循单一职责原则。分别建立两个类T...
分类:
其他好文 时间:
2014-06-25 23:06:22
阅读次数:
173
肯定有不少人跟我刚看到这项原则的时候一样,对这个原则的名字充满疑惑。其实原因就是这项原则最早是在1988年,由麻省理工学院的一位姓里的女士(Barbara Liskov)提出来的。定义1:如果对每一个类型为 T1的对象 o1,都有类型为 T2 的对象o2,使得以 T1定义的所有程序 P 在所有的对象...
分类:
其他好文 时间:
2014-06-25 22:56:55
阅读次数:
192
1、开闭原则简介 开闭原则对扩展开放,对修改关闭,开闭原则是面向对象设计中可复用设计的基石。 2、开闭原则的实现 实现开闭原则的关键就在于抽象,把系统的所有可能的行为抽象成一个抽象底层,这个抽象底层规定出所有的具体实现必须提供的方法的特征。作为系统设计的抽象层,要预见所有可能的扩展,从而...
分类:
其他好文 时间:
2014-06-25 22:05:29
阅读次数:
304
【创建型】1、单例模式(Singleton Pattern) 2、工厂方法模式(Factory Method Pattern)3、抽象工厂(Abstract Factory Pattern)4、建造者模式(Builder Pattern) 5、原型模式(Prototype Pattern) 【结构型...
分类:
编程语言 时间:
2014-06-25 21:18:34
阅读次数:
247
代理模式(Proxy),为其他对象提供一种代理以控制这个对象的访问。 Subject类,定义了RealSubject和Proxy的公共接口,这样就在任何使用RealSubject的地方都可以使用Proxy。class Subject{public: virtual void Reque...
分类:
其他好文 时间:
2014-06-25 20:38:36
阅读次数:
207
首先展示一个最简单的单例模式例子,代码如下:class NetworkService { public: // 对外提供的唯一方法函数,用于获取唯一的对象指针 static NetworkService* GetInstance() { if(m_pInsta...
分类:
其他好文 时间:
2014-06-24 21:43:00
阅读次数:
145
单例模式是设计模式中最简单的形式之一。这一模式的目的是使得类的一个对象成为系统中的唯一实例。单例代码如下: private static JobManager _instance; private static Object padlock = new Object(); public stat.....
分类:
其他好文 时间:
2014-06-24 12:39:57
阅读次数:
181
面向对象设计原则是OOPS(Object-Oriented Programming System,面向对象的程序设计系统)编程的核心,但大多数Java程序员追逐像Singleton、Decorator、Observer这样的设计模式,而不重视面向对象的分析和设计。甚至还有经验丰富的Java程序员没有...
分类:
编程语言 时间:
2014-06-24 11:51:12
阅读次数:
307
装饰模式(Decorator),动态地给一个对象添加一些额外的职责,就增加功能来说,装饰模式比生成子类更为灵活。 装饰模式结构图: Component是定义一个对象接口,可以给这些对象动态地添加职责。ConcreteComponent是定义了一个具体的对象,也可以给这个对象添加一些职责。Deco.....
分类:
其他好文 时间:
2014-06-24 11:40:22
阅读次数:
125
单例模式比较容易理解,狭义的单例模式就是一个class只有产生一个对象,广义的是数量确定(n)个对象.单例模式适用场景是: 业务场景需要某个类只能有一个实例.或者资源限制只能有固定数量的某个对象比如文件读写对象,数据库读写对象等。实现方法:用static方式实现:public class FileR...
分类:
其他好文 时间:
2014-06-24 11:37:55
阅读次数:
198