开闭原则(OCP)是面向对象设计中“可复用设计”的基石,是面向对象设计中最重要的原则之一,其它很多的设计原则都是实现开闭原则的一种手段。遵循开闭原则设计出的模块具有两个主要特征:(1)对于扩展是开放的(Open for extension)。这意味着模块的行为是可以扩展的。当应用的需求改变时,我们可...
分类:
其他好文 时间:
2015-04-06 21:45:12
阅读次数:
181
迪米特法则的简写为 LoD,看清楚中间的那个 o 是小写。迪米特法则也叫做做最少知识原则(Least Knowledge Principle,简称 LKP)说的都是一会事,一个对象应该对其他对象有最少的了解,通俗的讲一 个类对自己需要耦合或者调用的类应该知道的最少,你类内部是怎么复杂、怎么的纠缠不清...
分类:
其他好文 时间:
2015-04-05 20:26:54
阅读次数:
208
在讲接口隔离原则之前,我们先明确一下我们的主角,什么是接口,接口分为两种:一种是实例接口 (Object Interface),在 Java 中声明一个类,然后用 new 关键字产生的一个实例,它是对一个类型的事 物描述,这是一种接口,比如你定义个 Person 这个类,然后使用 Person zh...
分类:
其他好文 时间:
2015-04-04 21:13:53
阅读次数:
121
里氏替换原则,OCP作为OO的高层原则,主张使用“抽象(Abstraction)”和“多态(Polymorphism)”将设计中的静态结构改为动态结构,维持设计的封闭性。“抽象”是语言提供的功能。“多态”由继承语义实现。定义1:如果对每一个类型为T1的对象 o1,都有类型为 T2 的对象o2,使得以...
分类:
其他好文 时间:
2015-04-02 01:01:29
阅读次数:
227
定义:不要存在多于一个导致类变更的原因。通俗的说,即一个类只负责一项职责。问题由来:类T负责两个不同的职责:职责P1,职责P2。当由于职责P1需求发生改变而需要修改类T时,有可能会导致原本运行正常的职责P2功能发生故障。解决方案:遵循单一职责原则。分别建立两个类T1、T2,使T1完成职责P1功能,T...
分类:
其他好文 时间:
2015-03-30 22:51:41
阅读次数:
189
依赖倒置原则模块间的依赖通过抽象发生,实现类之间不发生直接的依赖关系,其依赖关系是通过接口或抽象类产生的 实现类依赖接口或抽象类 单一原则接口一定要做到单一职责 接口隔离原则接口尽量细化,同时接口中的方法尽量少
分类:
其他好文 时间:
2015-01-06 17:39:06
阅读次数:
140
刚开始接触java时很长一段时间, 总觉得java链表的删除操作自己写的有bug。
fail-fast 机制是java集合(Collection)中的一种错误机制。这种设计模式原则是与其留下隐患,不如最初就直接拒绝。这就好比有时我们做人一样,有时需要干脆的拒绝他人。...
分类:
编程语言 时间:
2014-12-02 09:02:45
阅读次数:
134
我们在应用程序开发中,一般要求尽量两做到可维护性和可复用性。 应用程序的复用可以提高应用程序的开发效率和质量,节约开发成本,恰当的复用还可以改善系统的可维护性。而在面向对象的设计里面,可维护性复用都是以面向对象设计原则为基础的,这些设计原则首先都是复用的原则,遵循这些设计原则可以有效地提高系统的复....
分类:
其他好文 时间:
2014-10-26 10:16:25
阅读次数:
430
模式:每一个模式描述了一个在我们周围不断重复发生的问题,以及该问题的解决方案的核心。一:设计模式的核心原则是:"开-闭"原则(Open-ClosedPrinciple缩写:OCP),一切的一切都是围绕着"开-闭"原则展开的开闭原则:说软件实体(类,模块,函数等)应该可以扩展,但是不可以修改二:依赖倒...
分类:
其他好文 时间:
2014-10-22 21:49:20
阅读次数:
221
设计模式六大原则,参见http://www.uml.org.cn/sjms/201211023.asp。
1. 单一职责原则
定义:不要存在多于一个导致类变更的原因。通俗的说,即一个类只负责一项职责。
问题由来:类T负责两个不同的职责:职责P1,职责P2。当由于职责P1需求发生改变而需要修改类T时,有可能会导致原本运行正常的职责P2功能发生故障。
解决方案:遵循单一职责原则。分别建...
分类:
编程语言 时间:
2014-10-10 19:02:54
阅读次数:
267