1、单一职责原则(SRP)
一个类只负责一个职责,避免一个类承担过多的职责,提高类的可复用性、可维护性和可扩展性。
2、开放封闭原则(OCP)
对扩展开放,对修改封闭。在不修改原有代码的情况下,通过扩展来实现新的功能。
3、里氏替换原则(LSP)
子类可以替换父类并且可以在不改变程序正确性的前提下工作。即,在任何使用父类对象的地方,都可以使用子类对象替换。
4、依赖倒置原则(DIP)
高层模块不应该依赖低层模块,它们都应该依赖于抽象。抽象不应该依赖于具体实现,具体实现应该依赖于抽象。
5、接口隔离原则(ISP)
客户端不应该依赖于它不需要的接口。一个类对另一个类的依赖应该建立在最小的接口上。
6、迪米特法则(LoD)
一个对象应该与其他对象之间保持最少的耦合。一个类应该尽可能少地了解其它类,只与直接的朋友通信。