开闭原则(Open Closed Principle)是Java世界里最基础的设计原则,它指导我们如何建立一个稳定的、灵活的系统。定义:一个软件实体如类、模块和函数应该对扩展开放,对修改关闭。Softeware entities like classes,modules and functions ...
分类:
其他好文 时间:
2015-07-05 16:26:51
阅读次数:
103
开闭原则开闭原则(OCP)是面向对象设计中“可复用设计”的基石,是面向对象设计中最重要的原则之一,其它很多的设计原则都是实现开闭原则的一种手段。
1988年,勃兰特·梅耶(Bertrand Meyer)在他的著作《面向对象软件构造(Object Oriented Software Construction)》中提出了开闭原则,它的原文是这样:“Software entities should be...
分类:
编程语言 时间:
2015-06-29 22:22:24
阅读次数:
1831
定义:一个软件实体如类、模块和函数应该对扩展开放,对修改关闭。
问题由来:在软件的生命周期内,因为变化、升级和维护等原因需要对软件原有代码进行修改时,可能会给旧代码中引入错误,也可能会使我们不得不对整个功能进行重构,并且需要原有代码经过重新测试。
解决方案:当软件需要变化时,尽量通过扩展软件实体的行为来实现变化,而不是通过修改已有的代码来实现变化。
开闭原则是面...
分类:
其他好文 时间:
2015-06-27 16:31:09
阅读次数:
120
代理模式理解
为其他对象提供一种代理以控制这个对象的访问。在某些情况下,一个客户不想或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。
代理模式能够协调调用者和被调用者,在一定程度上降低了系统的耦合度。
为什么需要代理?
因为一个良好的设计不应该轻易的修改。这正是开闭原则的体现:一个良好的设计应该对修改...
分类:
其他好文 时间:
2015-06-19 21:37:09
阅读次数:
147
原文地址: http://www.cnblogs.com/maowang1991/archive/2013/04/15/3023236.html 设计模式六大原则: 1.开闭原则:对扩展开放,对修改关闭。在程序需要进行扩展的时候,不能去修改原有的代码。 2.里氏代换原则:任何基类可以出现的地方,子类...
分类:
编程语言 时间:
2015-06-19 18:24:20
阅读次数:
152
简单工厂模式存在一个缺陷即违反了开闭原则。工厂方法模式避免了只一点。
开闭原则定义:一个软件实体应当对扩展开放,对修改关闭。及软件实体应
尽量在不修改原有代码的情况下进行扩展。
开闭原则:http://blog.csdn.net/lovelion/article/details/7537584
工厂方法模式概述:
工厂父类负责定义创建产品对象的公共接口,而工厂子类则负责生成具体的...
面向对象的特征:
主要有抽象、继承、封装和多态四个方面,下面是我们来详细分析它们的含义:
..........
面向对象的“六原则一法则”:
单一职责原则、开闭原则、依赖倒转原则、里氏替换原则、接口隔离原则、合成聚合复用原则和迪米特法则。
................
分类:
其他好文 时间:
2015-06-09 09:58:19
阅读次数:
3045
今天同事和我们一起讨论分享了OO的设计原则,讨论使人明晰,有人一起讨论学习是一件幸福的事情。 1.开闭原则 对功能的扩展是开放的,对修改是闭合的。 可以应用于类的设计,框架的设计等。 为什么?开闭原则有利于保护已有的客户端代码,让原有的代码不会因为框架的扩展修改而发生变动,减少维护的成本。 如果你设...
分类:
其他好文 时间:
2015-06-06 07:57:27
阅读次数:
77
总原则:开闭原则(Open Close Principle)开闭原则就是说对扩展开放,对修改关闭。在程序需要进行拓展的时候,不能去修改原有的代码,而是要扩展原有代码,实现一个热插拔的效果。所以一句话概括就是:为了使程序的扩展性好,易于维护和升级。想要达到这样的效果,我们需要使用接口和抽象类等,后面的...
分类:
其他好文 时间:
2015-06-05 09:59:06
阅读次数:
135
简单工厂模式的不足:加入新产品的同时需要修改工厂类,违背“开闭原则”。模式动机:增加一个抽象工厂类,再定义具体工厂类来生产具体的产品,增加新产品时只需要添加产品类和对应的具体工厂类即可。由于我们是对抽象工厂进行编程,因此可以在不修改抽象工厂的前提下增加新产品。模式定义:工厂方法模式(Factory ...
分类:
其他好文 时间:
2015-05-28 17:43:38
阅读次数:
196