SOLID原则
-
单一职责原则 (Single Responsibility Principle)
- 口诀:“一个类,一个职责,清晰不重叠”
- 贴士:每个类应该只有一个改变的理由。
- 参考:《软件设计原则:单一职责》
-
开放封闭原则 (Open/Closed Principle)
- 口诀:“修改封闭,扩展开放,软件成长的希望”
- 贴士:软件实体应对扩展开放,对修改封闭。
- 参考:《软件设计原则:开闭原则》
-
里氏替换原则 (Liskov Substitution Principle)
- 口诀:“子类继承,替换无痕,行为一致性”
- 贴士:子类对象应该能够替换掉它们的父类型对象。
- 参考:《软件设计原则:里氏替换原则》
-
接口隔离原则 (Interface Segregation Principle)
- 口诀:“接口精细,用途明确,不应负重太重”
- 贴士:客户端不应该依赖它不需要的接口。
- 参考:《软件设计原则:接口隔离》
-
依赖倒置原则 (Dependency Inversion Principle)
- 口诀:“高层不依底层,抽象不依细节,依赖要反转”
- 贴士:模块间依赖应基于抽象,不应基于具体实现。
- 参考:《软件设计原则:依赖倒置》
其他设计原则
-
DRY原则 (Don’t Repeat Yourself)
- 口诀:“不要复制粘贴,抽取重用才精彩”
- 贴士:每块知识在系统中有一个单一、明确、权威的表示。
-
YAGNI原则 (You Aren’t Gonna Need It)
- 口诀:“不需要就别加,等真正要用再说吧”
- 贴士:只做当前需要的事,不要预测未来可能需要的功能。
-
KISS原则 (Keep It Simple, Stupid)
- 口诀:“保持简单,愚蠢不堆砌,复杂性别自找”
- 贴士:尽可能保持代码简单易懂,避免不必要的复杂性。
-
组合优于继承 (Composition Over Inheritance)
- 口诀:“组合胜过继承,灵活性更胜一筹”
- 贴士:使用组合来达到代码复用,而不是过度依赖继承。
- 参考:《软件设计原则:组合/聚合复用原则》
-
最少知识原则 (Principle of Least Knowledge)
- 口诀:“交流不过度,知道太多易糊涂”
- 贴士:一个对象应该对其他对象有尽可能少的了解。
通过这些口诀和小贴士,你可以更容易地记住这些原则,并在设计软件时快速回忆并应用它们。