1、开闭原则(OCP):对扩展开放,对修改关闭。
理解:能用抽象类的别用具体类,能用接口的别用抽象类。总之一句:尽量面向接口编程。
注意:开闭原则对扩展开放,对修改关闭,并不意味着不做任何修改,低层次模块的变化,必然要有高层模块进行耦合,否则就是一个孤立无意义的代码片段。在业务规则改变的情况下高层模块必须有部分改变以适应新业务,改变要尽量地少,防止变化风险的扩散
2、单一原则(SRP):应该有且只有一个原因引起类的变更。
理解:比如一个Phone类,有Call和Send两个功能,修改Call功能时影响