设计模式的六大原则有:
Single Responsibility Principle: 单一职责原则
Open Closed Principle: 开闭原则
Liskov Substitution Principle: 里氏替换原则
Law of Demeter: 迪米特法则
Interface Segregation Principle: 接口隔离原则
Dependence Inversion Principle: 依赖倒置原则
单一职责原则(Single Responsibility Principle, SRP)🌟🌟🌟
- 定义:一个类应该只有一个引起变化的原因。
- 说明:这个原则强调,一个类应该仅负责一项任务或功能。如果一个类承担过多的职责,它将变得复杂且难以维护。遵循此原则可以使类更容易理解和测试。
开闭原则(Open-Closed Principle, OCP)🌟🌟🌟🌟🌟
- 定义:软件实体(类、模块、函数等)应该对扩展开放,对修改封闭。
- 说明:这意味着软件的行为应该可以通过添加新的代码扩展,而不是修改现有的代码。这有助于减少系统中引入错误的可能性,并提高系统的灵活性和可维护性。
里氏替换原则(Liskov Substitution Principle, LSP)
- 定义:子类型必须能够替换掉它们的基类型。
- 说明:这个原则是继承复用的基石,强调派生类(子类)对象能够替换其基类(父类)对象,而程序逻辑不受影响。遵守此原则有助于保证继承体系的健康性和扩展性。
德米特法则(Law of Demeter, LOD)
- 定义:一个对象应该对其他对象有尽可能少的了解,只与直接的朋友通信。
- 说明:不调用给定对象的属性的方法,不调用从方法返回的对象的方法,不依赖容器中的对象,遵守这个法则有助于减少对象之间的依赖关系,从而减少系统复杂性,提高模块的独立性和可维护性。
接口隔离原则(Interface Segregation Principle, ISP)🌟🌟
- 定义:客户端不应该被迫依赖于它们不使用的接口。
- 说明:应该将臃肿的接口拆分成更小和更具体的接口,让实现类只需要关心它们需要的方法。这有助于减少系统间的依赖,提高类的复用度。
依赖倒置原则(Dependency Inversion Principle, DIP)🌟
- 定义:高层模块不应该依赖低层模块,两者都应依赖于抽象;抽象不应该依赖细节,细节应该依赖抽象。
- 说明:这个原则鼓励尽量依赖于接口或抽象类,而不是具体类,从而减少组件间的依赖关系,增强系统的稳定性和灵活性。