本人为菜鸟,仅供参考,只为自己记录学习
原则
1、单一职责原则(Single Responsibility Principle)
通俗地说,即一个类只负责一项职责
2、开闭原则(Open-Closed Principle)
软件实体 (类、模块、函数等等) 应该是可以被扩展的,但是不可被修改。
优点:1、软件有较强的适应性和灵活性 2、有较强的稳定性和持久性
3、里氏替换原则(Liskov Substitution Principle)
子类可以扩展父类的功能,但不能改变原有功能
4、依赖倒置原则(Dependence Inversion Principle)
程序要依赖于抽象接口,不要依赖于具体实现,从而降低耦合性
5、接口隔离原则(Interface Segregation Principle)
一个类不应该依赖它不需要的接口,一个类对另一个类的依赖应该建立在最小的接口上
6、迪米特法则(Law Of Demeter)
又称:最少知道原则,即如果两个类不必彼此直接通信,那么这两个类就不应当发生直接的相互作用。如果其中的一个类需要调用另一个类的某一个方法的话,可以通过第三者转发这个调用
7、组合-聚合复用原则(Composite/Aggregate Reuse Principle)
组合或聚合好于继承,能用组合或聚合就用
违反了组合-聚合复用原则
修改后