1. 单一职责原则(Single Responsibility Principle, SRP)
一个类只负责一个功能。
一个类只处理自己应该处理的内容,
开闭原则(Open/Closed Principle, OCP)
对拓展开放,对修改封闭。
使用继承和接口来扩展现有功能,而不修改原有类
里氏替换原则(Liskov Substitution Principle, LSP)
子类应该可以替换父类,并且功能不受影响。
父类容器装子类
依赖倒置原则(Dependency Inversion Principle, DIP)
高层模块不应该依赖于低层模块,二者都应该依赖于抽象。
不要依赖具体的实现,要依赖抽象(接口,可以通过接口容器装类)
迪米特法则:(Law of Demeter, LoD)
一个对象应当对其他对象有尽可能少的了解。
接口隔离原则(Interface Segregation Principle, ISP)
客户端不应该依赖它不需要的接口。
一个接口一个行为,不要一个接口多种行为
合成复用原则(Composition over Inheritance, CoI)
优先使用对象的组合而不是继承来达到复用的目的。