所谓OCP设计原则就是Open Close Principle,即开闭原则。指软件的结构对扩展是开放的,对修改是关闭的。现有的软件结构可以无限制的扩展,而不能修改现有结构。
为达到OPC设计原则,就要将软件抽象,把软件的公共部分抽象出接口,然后其他类可以实现或依赖该接口。
以人养宠物为例。一个人养很多宠物,我们若直接让人和宠物直接关联起来,以后再增加一个宠物时代...
分类:
其他好文 时间:
2014-10-28 17:51:18
阅读次数:
301
本文是小弟对于《设计模式之禅》第二版中关于六大设计原则的简单总结和归纳。六大设计原则分别是:单一职责原则、里氏替换原则、依赖倒置原则、接口隔离原则、迪米特法则和开闭原则。
分类:
其他好文 时间:
2014-10-28 00:45:04
阅读次数:
190
?遵循开闭原则设计出的模块具有两个主要特点:
?(1)对于扩展是开放的(Open for extension)。这意味着模块的行为是可以扩展的。当应用的需求改变时,我们可以对模块进行扩展,使其具有满足那些改变的新行为。也就是说,我们可以增加模块的功能。
?(2)对于修改是关闭的(Closed for modification)。对模块行为进行扩展时,不必改动模块的源代码或者二进制代码。模块的二进制可执行版本,无论是可链接的库、DLL或者.EXE文件,都无需改动。
?注意:开闭原则...
分类:
其他好文 时间:
2014-10-27 23:09:58
阅读次数:
272
模式:每一个模式描述了一个在我们周围不断重复发生的问题,以及该问题的解决方案的核心。一:设计模式的核心原则是:"开-闭"原则(Open-ClosedPrinciple缩写:OCP),一切的一切都是围绕着"开-闭"原则展开的开闭原则:说软件实体(类,模块,函数等)应该可以扩展,但是不可以修改二:依赖倒...
分类:
其他好文 时间:
2014-10-22 21:49:20
阅读次数:
221
1.“开-闭”原则(OCP) Software entities should be open for extension, but closed for modification. 对扩展开放,对修改封闭。2.里氏代换原则(LSP) 凡是基类适用的地方,子类一定适用。3.依赖倒转原则(DIP) 要...
分类:
其他好文 时间:
2014-10-22 10:49:09
阅读次数:
221
对于java的设计模式,我还是第一次认认真真的总结,以前用的时候都不曾留意细节,现在回头再看只知道该怎么设计,却忘记当时为嘛要用它了,所以这次就做一个demo来再次复习总结一下,希望从中能学到新体悟。先说说设计模式最重要的一个原则吧,就是开闭原则:意思是对扩展开放,对修改关闭在程序需要进行拓展的时候...
分类:
编程语言 时间:
2014-10-21 17:02:42
阅读次数:
185
这是笔记的第6篇,对前面5篇做一个总结,聊聊JavaScript在面向大型复杂任务时候,如何有效组织程序结构,如何实现代码清晰可读,如何实现开闭原则。...
分类:
编程语言 时间:
2014-10-19 19:58:59
阅读次数:
297
首先要说,关于迭代模式,是和Java中的聚集密切相关的。体现的是“开-闭”原则,强调的是封装变化的思想。
迭代器是在JDK2-5时代的聚集遍历模式,从JKD5开始,对聚集的遍历,推崇for(E e:Es)的形式,更少的变量,更不易出错,迭代器是有点过时了,所以我们学习迭代模式,是为了开阔一下视野,理解其思想。...
分类:
其他好文 时间:
2014-10-14 14:40:18
阅读次数:
237
工厂模式,实例化对象,用工厂方法代替new操作。
工厂模式基本与简单工厂模式差不多,简单工厂中每次添加一个子类必须在工厂类中添加一个判断分支,这违背了开闭原则。而工厂模式的解决方法是将简单工厂中的每个判断都生成一个工厂子类,工厂子类位于工厂类抽象和产品类实现之间,实际依然属于实现。工厂类中的为抽象的接口,开闭原则要不修改接口,只修改实现,则这里工厂子类是实现,添加工厂子类及其代码没有修改抽象的接...
分类:
编程语言 时间:
2014-10-12 23:37:38
阅读次数:
222
一 开闭原则 对扩展开放,对修改关闭,使用接口和抽象类可实现这一原则 题外话:接口与抽象类的区别 1.java接口可以包含具体的方法实现,而接口只能包含方法的签名。如果需要提供最基本的方法实现,则建议使用抽象类 2.java单继承决定了抽象类类型的单一性,而接口不然,一个类可以实现多个接口,...
分类:
其他好文 时间:
2014-09-09 22:54:49
阅读次数:
200