面向对象编程因为其具有丰富的特性(封装、抽象、继承、多态),可以实现很多复杂的设计思路,是很多设计原则、设计模式等编码实现的基础. 设计原则是指导我们代码设计的一些经验总结,对于某些场景下,是否应该应用某种设计模式,具有指导意义.比如,“开闭原则”是很多设计模式(策略、模板等)的指导原则.
设计模式是针对软件开发中经常遇到的一些设计问题,总结出来的一套解决方案或者设计思路.应用设计模式的主要目的是提高代码的可扩展性.从抽象程度上来讲,设计原则比设计模式更抽象.设计模式更加具体、更加可执行.
编程规范主要解决的是代码的可读性问题.编码规范相对于设计原则、设计模式,更加具体、更加偏重代码细节、更加能落地.持续的小重构依赖的理论基础主要就是编程规范.
重构作为保持代码质量不下降的有效手段,利用的就是面向对象、设计原则、设计模式、编码规范这些理论.实际上,面向对象、设计原则、设计模式、编程规范、代码重构,这五者都是保持或者提高代码质量的方法论,本质上都是服务于编写高质量代码这一件事的.
当我们追本逐源,看清这个本质之后,很多事情怎么做就清楚了,很多选择怎么选也清楚了.比如,在某个场景下,该不该用这个设计模式,那就看能不能提高代码的可扩展性;要不要重构,那就看重代码是否存在可读、可维护问题等.