嘀嘀嘀~~~  页面这在飞快的跑来 . . .

面向对象设计七大原则


存在的根本原因是为了更好的复用代码增加代码的可维护性,这些原则并不是孤立存在的,他们相互依赖,相互补充。

开闭原则(Open Close Principle)

软件实体(包括类、模块、功能等)应该对扩展开放,但是对修改关闭。

对扩展开放,对修改关闭, 即在程序需要进行拓展的时候,不能去修改原有的代码,只能增加新的代码。即已经发生的已经不可以改变 ,我们只能改变那些事情对现在的影响。

里氏转换原则(Liskov Substitution Principle)

子类继承父类,任何基类出现的地方,一定可以用子类替代出现。子类可以扩展父类功能,但不能改变父类原有功能。核心思想是继承。 通过继承,引用基类的地方就可以使用其子类的对象了。即子类是对父类的完全复制,父类可以被子类完全替代,子类可以增加新的内容,而且不影响父类。

依赖倒转原则(Dependence Inversion Principle)

引用一个对象,如果这个对象有底层类型,直接引用底层类型。依赖倒置原则的本质就是通过抽象(接口或抽象类)使各个类或模块的实现彼此独立,不互相影响,实现模块间的松耦合。

接口隔离原则(Interface Segregation Principle)

使用多个隔离的接口,比使用单个接口要好,每一个接口应该是一种角色。不要在一个接口里面放很多的方法,这样会显得这个类很臃肿。接口应该尽量细化,一个接口对应一个功能模块,同时接口里面的方法应该尽可能的少,使接口更加灵活轻便。单一职责原则是在业务逻辑上的划分,注重的是职责。接口隔离原则是基于接口设计考虑。

合成/聚合复用原则(Composite Reuse Principle)

新的对象应使用一些已有的对象,使之成为对象的一部分。即用已经有的东西合成新的东西,使原来的东西成为新东西的一部分。

迪米特原则(Demeter Principle)

也叫最少知识原则,一个实体应当尽量少的与其他实体之间发生相互作用,使得系统功能模块相对独立,即一个对象应对其他对象尽可能少的了解。多个对象之间应该尽量避免有任何关联。

单一职责原则 ( Single Responsibility Principle)

一个类被改变的原因不能超过一个,也就是说,一个类的职责只有一个,如果职责过多,代码就会臃肿,可读性更差,也就更难以维护事实上单一职责和原则和接口隔离原则有一定的关系,接口隔离之后,职责就单一了,实现这个接口的类的职责就单一了。但是接口隔离关注的是抽象层,单一职责关注的是两者兼而有之,偏重于实现。


文章作者: WuLiZeng
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 WuLiZeng !
评论
  目录