第四课 向前一步是悬崖
有些人走着走着就散了,有些代码写着写着就乱了
作为有节操的架构师,我们在设计软件时是要讲原则的。
单一职责原则
一个类只做一件事,只有一个引起它的变化。
职责过多,可能引起它变化的原因就越多,做的越多错的越多;而且交杂不清的职责将使得代码看起来臃肿丑陋难以下手。
我们都是一条绳上的蚂蚱?不,我自己单独一条绳。
开放封闭原则
软件对扩展是开放的,对修改是封闭的。
需求总是变化,而抽象相对稳定。实现开开放封闭原则的核心思想就是对抽象编程,而不对具体编程。类依赖于固定的抽象,所以修改就是封闭的;通过继承和多态,实现对抽象的继承,改变固有行为,所以对扩展是开放的。
里氏替换原则
子类必须能够替换其基类。
这一原则是对继承机制的约束和规范,只有符合里氏替换原则,才能保证继承复用是可靠地。
依赖倒置原则
高层模块不依赖于底层模块,二者都同依赖于抽象;抽象不依赖于具体,具体依赖于抽象。
抽象的稳定性决定了系统的稳定性,因为抽象是不变的,依赖于抽象是面向对象设计的精髓,也是依赖倒置原则的核心
Don‘t call me, I‘ll call you
接口隔离原则
不应该强迫客户程序依赖他们不需要的方法。
面向对象设计的五原则,使我们的代码更加简洁且条理清晰,易于复用和拓展,灵活而优雅。我们在具体实践中要时刻停下来想想是否突破了哪条原则,否则迟早有一天,你的程序真会死给你看的。
评论