定义: 高层次的模块不应该依赖于低层次的模块,两者都应该依赖于抽象接口;抽象接口不应该依赖于具体实现。而具体实现则应该依赖于抽象接口。依赖倒置原则英文全称为Dependence Inversion Principle,简称为DIP。问题由来: 类A直接依赖类B,假如要将类A改为依赖类C,则必须通过修...
分类:
其他好文 时间:
2014-07-25 19:10:52
阅读次数:
302
定义:客户端不应该依赖它不需要的接口;类之间的依赖关系应建立在最小的接口之上。接口隔离原则英文全称为Interface Segregation Principle ,简称为ISP。个人理解:通俗的来说,接口不能臃肿庞大,而使根据具体需要尽量的细化。接口中的方法也要尽可能的少。接口是设计对外的一种契约...
分类:
其他好文 时间:
2014-07-25 19:06:02
阅读次数:
382
定义:程序中的对象应该是可以在不改变程序正确性的前提下被它的子类所替换,也就是说所有引用基类的地方必须能透明地使用其子类的对象。通俗的来说,子类可以扩展父类的功能,但不能改变父类原有的功能。由来:第一次看见这个里氏替换原则的名字会觉着很奇特,根据以往的经验这一看就是外国友人首先提出的概念,然后便以她...
分类:
其他好文 时间:
2014-07-24 11:26:42
阅读次数:
489
定义: 一个类,只有一个引起它变化的原因。通俗的来说就是一个类只负责一项职责。问题由来: 类T负责两个不同的职责:职责P1,职责P2。当由于职责P1需求发生改变而需要修改类T时,有可能会导致原本运行正常的职责P2功能发生故障。解决方案: 遵循单一职责原则,设计两个类T1和T2,T1负责完成职责...
分类:
其他好文 时间:
2014-07-23 15:45:09
阅读次数:
205
硬盘维修的六大原则:1,多测少做原则。当你手里有一把锤子看什么都象钉子。有些人学会了一个修盘指令,无论碰上什么问题都想用这个指令试一下,把所有的方法都用完了,硬盘还没有修好,就无计可施。还可能把简单的问题复杂化,所以在修复前要多做测试,看硬盘的故障现象,然后..
分类:
其他好文 时间:
2014-07-20 03:36:06
阅读次数:
176
简单工程模式:对具有相同功能的类进行抽象得到父类,这些类继承它成为子类。为了对这些功能进行选择,建立一个工厂类进行判断,其中运用一个Switch语句。
优点:结构简单、操作单一。
缺点:需要事先考虑周到,操作时需准确。由下的“功能扩展”中可知,易违背设计模式六大原则中的“开放-封闭原则”。
功能扩展:若增添功能方法,则需另添加一个类,在运算类中添加的相应的方法,再修改客户端中的Switch语句中的case项。
工厂方法模式(Factory Method):先建立一个...
分类:
其他好文 时间:
2014-07-08 14:34:46
阅读次数:
211
单一职责原则(SingleResponsibilityPrinciple)定义:不要存在多于一个导致类变更的原因。通俗的说,即一个类只负责一项职责。问题由来:类T负责两个不同的职责:职责P1,职责P2。当由于职责P1需求发生改变而需要修改类T时,有可能会导致原本运行正常的职责P2功能发生故障。解决方...
分类:
其他好文 时间:
2014-07-06 19:31:49
阅读次数:
275
设计模式六大原则单一职责原则(SingleResponsibilityPrinciple)定义:不要存在多于一个导致类变更的原因。通俗的说,即一个类只负责一项职责。问题由来:类T负责两个不同的职责:职责P1,职责P2。当由于职责P1需求发生改变而需要修改类T时,有可能会导致原本运行正常的职责P2功能...
分类:
其他好文 时间:
2014-07-03 12:13:25
阅读次数:
253
很久之前把几大名著《敏捷软件开发》、《设计模式》、《大话设计模式》、《重构-改善既有代码的设计》、《轻量级J2EE企业应用实战-Struts+Spring+Hibernate整合开发》等研究了一遍,然后就想做个项目来综合以上知识,现在把项目设计的思路写出来。包的设计最好遵循包设计六大原则。前三增加内...
分类:
其他好文 时间:
2014-06-28 09:45:00
阅读次数:
292
肯定有不少人跟我刚看到这项原则的时候一样,对这个原则的名字充满疑惑。事实上原因就是这项原则最早是在1988年,由麻省理工学院的一位姓里的女士(Barbara Liskov)提出来的。定义1:假设对每个类型为 T1的对象 o1,都有类型为 T2 的对象o2,使得以 T1定义的全部程序 P 在全部的对....
分类:
其他好文 时间:
2014-06-25 16:31:42
阅读次数:
216