能扩展就不修改,因为每一次修改原代码都可能带来原来没有的错误。
最简单的思路是增加抽象层,不过注意过犹不及。
设计代码的时候心里有界面有按钮有接口,替客户想怎样操作最方便,未来哪里有可能拓展。
如果需要把一些简单重复的任务分配给码农去做,他们对于其他部分和整体设计不太了解,应该如何实现多层次的抽象。
接口隔离原则:类实现接口时不能有冗余的方法
单一职责原则:不互相影响的方法不要混在一个接口里,按功能不同分开放
开放封闭原则:考虑新增功能时,不需要修改原代码
迪米特原则:不是自己的事别管,只管直系下属/朋友的事,不越俎代庖
依赖倒置原则:两变化层中间加接口,面向接口编程
里氏替换原则:出现继承失当时考虑里氏替换原则