开闭原则(OCP)是面向对象设计中“可复用设计”的基石,是面向对象设计中最重要的原则之中的一个,其他非常多的设计原则都是实现开闭原则的一种手段。开闭原则中“开”,是指对于组件功能的扩展是开放的,是同意对其进行功能扩展的;开闭原则中“闭”,是指对于原有代码的改动是封闭的,即不应该改动原有的代码。遵循开...
分类:
其他好文 时间:
2014-07-06 22:41:05
阅读次数:
225
设计模式01Table of Contents1 设计模式1.1 基本原则1.2 开-闭原则1.2.1 与其他原则关系1 设计模式1.1 基本原则系统的可扩展性由开-闭原则、里氏代换原则、依赖倒转原则、组合/聚合复用原则保证;系 统的灵活性由开-闭原则、迪米特原则、接口隔离原则保证;系统的可插入性由...
分类:
其他好文 时间:
2014-07-06 21:14:58
阅读次数:
198
前言 前两天学习了weak_ptr以后还是不甚明了,一则需要实际应用去锤炼,二来就是不懂观察者模式。 正文 观察者模式又叫发布-订阅模式,定义了一种一对多的依赖关系,让多个观察者对象同时监听某一主题对象,这个主题对象在状态发生改变时,会通知所有的观察者对象,使他们能够自动更新自己。通过一张visi....
分类:
编程语言 时间:
2014-07-06 20:37:57
阅读次数:
260
最近在学习李建忠老师一系列的关于面向对象设计模式的课程,就想着把总结下来,以便自己以后的学习,设计模式是一个比较空洞的话题,随着我们的编程经验的积累,我们能增加对它的理解,这是一个日积月累的过程,但是我们应该在平时的编程过程中学会思考和分析,想一想在某种特定的场景下使用什么样的设计模式,怎样才能做到...
分类:
其他好文 时间:
2014-07-06 20:08:59
阅读次数:
127
单一职责原则(SingleResponsibilityPrinciple)定义:不要存在多于一个导致类变更的原因。通俗的说,即一个类只负责一项职责。问题由来:类T负责两个不同的职责:职责P1,职责P2。当由于职责P1需求发生改变而需要修改类T时,有可能会导致原本运行正常的职责P2功能发生故障。解决方...
分类:
其他好文 时间:
2014-07-06 19:31:49
阅读次数:
275
前言 从方向上改变糟糕的代码设计,如果你还是很直白的过程式思维,还在被一大堆的if else,随处可见的for、while所困扰,是时候学习设计模式了。 正文 软件设计中的合成/聚合复用原则:尽量使用合成/聚合,尽量不要使用类继承。 合成和聚合都表示关联的特殊种类。聚合表示一种弱的”拥有“关系,体....
分类:
其他好文 时间:
2014-07-06 19:21:45
阅读次数:
176
为了提高软件的可维护性,应该遵循以下几点原则:1.“开放--封闭”原则(OCP) 一个软件实体应该对扩展开放,对修改封闭.2.里氏代换原则(LSP) 子类型必须能替换她们的基类型,反过来则不成立。3.依赖倒置原则(DIP) 要依赖于抽象,不要依赖于具体。 优点是降低耦合,提高可扩展性和稳定性...
分类:
其他好文 时间:
2014-07-05 18:26:40
阅读次数:
185
泛型也可以应用于接口,例如生成器(Generator),这是一种专门负责创建对象的类。实际上,这是工厂设计模式的一种应用。不过,当使用生成器创建新的对象时,它不需要任何参数,而工厂方法一般需要参数。也就是说,生成器无需额外的信息就知道如何创建新对象。 一般而言,一个生成器只定义一个方法,该方法...
分类:
编程语言 时间:
2014-07-03 19:23:20
阅读次数:
305
中介者设计模式的优点是减少类之间的依赖,把原有的一对多关系改成一对一关系依赖,同事类只依赖中介者,减少了依赖,同时也降低了类之间的耦合。...
分类:
编程语言 时间:
2014-07-03 17:32:54
阅读次数:
268
设计模式六大原则单一职责原则(SingleResponsibilityPrinciple)定义:不要存在多于一个导致类变更的原因。通俗的说,即一个类只负责一项职责。问题由来:类T负责两个不同的职责:职责P1,职责P2。当由于职责P1需求发生改变而需要修改类T时,有可能会导致原本运行正常的职责P2功能...
分类:
其他好文 时间:
2014-07-03 12:13:25
阅读次数:
253