面向对象的设计原则总结

我为什么要学习设计原则

做开发的唯一真理是需求总是在不断改变,而需求的变化是最头疼的事,对于不好的代码,甚至还不如重头来过。所以为什么要学习设计原则:

  • 对于代码的变化代价极小
  • 无需修改代码即可轻松实现功能扩展

几条基本的原则(SOLID)

  • S:单一职责原则
  • O:开闭原则
  • L:里氏替换原则
  • I:接口分离原则
  • D:依赖倒置原则

单一职责原则:一个类只负责一个功能领域中的相应职责,从面向对象的角度来说,也就是导致这个对象变化的因素永远不要多于一个。
开闭原则:软件实体(类,模块,函数等)应该对扩展开放,对修改关闭。开闭原则的关键是对某些具体类的抽象。
里氏替换原则:子类型必须能够替换它们的基类。也就是在一个程序中,所有的基类替换成其子类的时候,程序不应该发生异常,我们应该在程序中尽量使用基类来对对象进行定义,而在运行时再确定其子类类型,用子类来替换基类对象。
接口分离原则:用户不应该被迫依赖他们不使用的接口,也就是说客户端不应该依赖于那些他不需要的接口,接口仅仅提供客户需要的行为。
依赖倒置原则:高层次的模块不应该依赖于低层次的模块,而是都应该依赖于抽象。也就是要针对接口编程,而不是对实现编程。为了实现这个原则,尽量不要在具体类给出接口或抽象类中未定义的方法,这会导致这些有方法在这些抽象化的模块中无法使用。

总结

其实这些原则并不是几句话可以说完的,最好是和例子一起学习,原谅我太懒。

Leo wechat
欢迎订阅公众号,建设中!