面向对象编程六大原则

340 阅读1分钟

单一职责原则

一个类应该只有一个引起它变化的原因,一个类应该是一组相关性很高的函数,数据的封装一个类应该只有一个引起它变化的原因,一个类应该是一组相关性很高的函数,数据的封装

开放关闭原则

类应该对外扩展开放,对修改关闭。尽量通过扩展的方式实现变化(新需求),而不是修改原有代码。一个类只因错误而被修改,新的改变特性应该通过新建不同的类实现,新类可通过继承来重用原类代码。经常用于依赖注入(setCache(ImageCache cache))

里氏替换原则

子类型能替换掉其父类型.(继承和多态)。继承:优点是代码重用;缺点是有侵入性。

依赖倒置原则

抽象不应该依赖于具体实现,具体实现应该依赖于抽象。要依赖于抽象(抽象类或接口,不能实例化)而不依赖于具体类 高层模块不依赖于底层模块,二者都应该依赖于抽象。抽象不应该依赖于具体实现,具体实现应该依赖于抽象。

接口隔离原则

不强迫用户依赖于他们不用的方法。类间的依赖关系应该建立在最小的接口上(ClonseUtil)

最少知识原则

只和你的朋友说话(中介模式)

其他原则

  • 面向接口编程
  • 优先使用组合而非继承
  • 一个类需要的数据应该隐藏在类内部
  • 类之间应该零耦合或者只有传导耦合(类之间是用另一个类接口提供操作)