1.单一职责原则(SRP):
就一个类而言,应该仅有一个引起它变化的原因。
如果一个类承担的职责太多,就等于把这些职责耦合在一起,一个职责的变化可能会削弱或者抑制这个类完成其他职责的能力。 比如业务操作和日志记录类进行分开,界面和逻辑分开等等。职责分离,单一职责,更有利于维护和拓展。
2.开放-封闭原则:
类,模块,函数等等,应该可以拓展,但是不可以修改。
也就是:对于拓展是开放的,对于更改是封闭的。
也就是 时刻谨记,面对新的需求,对程序的改动是通过增加新代码进行的,而不是更改现有的代码。
实际开发中,比如说要实现一个加法程序, 写好之后,过了不久,又要实现减法功能, 那么应该是将加法程序和减法程序公共的部分抽象出来,然后写一个新的减法类,而不是在原来的加法程序里面进行修改。
这样以后,如果要继续增加乘法和除法的功能,就只需要拓展乘法和除法的类就行了。
我们在最初编写代码的时候,假设代码不会发生变化,当变化发生时,我们就创建抽象来隔离以后发生的同类变化。
开闭原则是面向对象设计的核心所在,遵循这个原则 可以实现 可维护性,可复用,灵活性好等优点, 开发人员应对频繁变化的部分进行抽象。
3.依赖倒转原则
1.高层模块不应该依赖底层模块,两个都应该依赖抽象
2.抽象不应该依赖细节,细节应该依赖抽象。
具体来说就是,针对接口编程,不要对实现编程。
依赖接口的好处就是,不用关心接口内部的实现,需要知道接口的名称,参数&#x