面向对象开发六大原则

来源:互联网 发布:软件测试过程模型 编辑:程序博客网 时间:2024/05/22 16:57

  1 单一职责原则:秦小波老师《设计模式之禅》中说:这是一个备受争议又及其重要的原则。只有你想和别人争执、怄气或者是吵架,这个原则是屡试不爽。单一职责的划分不是总是那么清晰,很多时候是需要靠个人经验来界定。通俗的说是,实现类、接口或者抽象类,尽可能的功能简单,这样的类不会太大,功能简单,职责清晰。

  2 开闭原则:它是java世界里最基础的设计原则,它是指导我们如何建立一个稳定的、灵活的系统。开闭原则的定义是:软件中的对象(类、模块、函数等)应该是对应扩展是开放的,但是,对应修改是封闭的。在程序维护和升级的时候,理想化是通过继承来实现功能的修改或扩展。

  3 里式替换原则:引用基类的地方必须能透明的使用其子类的对象。里式替换原则就是依赖于继承、多态这两大特性。

  4 依赖倒置原则:高层次的模块不依赖于低层次的模块的实现细节,他们应该依赖于抽象,低层次模块应该依赖于抽象。

  5 接口隔离原则:定义是类间的依赖关系应该建立在最小的接口上。示例:在使用IO输入流,在结束的时候要关闭流,可以用Closeable接口里面的close方法关闭,因为IO流都实现了Cloaseable接口。

  6 迪米特原则:一个对象应该对其他对象有最少的了解。如中介找房,我们设定的情况为:我只要求房间的面积和租金,中介就会找到我要求的房子。只要告诉中介要什么样的房子,中介就会找到你匹配的房子,其他的不用关心。


在开发中,最难的不是完成应用的开发工作,而是在后续的升级、维护过程中让应用系统能适应变化。保持系统高可扩展性、高内聚、低耦合需要参考这六大原则,完善应用。