我知道盲目跟随任何"最佳实践"仍然可能导致一堆严重遵守最佳实践的垃圾.SOLID原则就是原则.它们并不适用于所有情况,但它们仍然是非常好的启发式方法,可以在代码中找到可能的改进.
它们的缺点是它们有时需要对源代码进行深入分析才能应用它们.我和大多数程序员一样,一直在寻找更有效的做事方式,所以我很好奇是否有人听说过试图测试SOLID原则(或缺乏原则)应用的分析工具.
SRP 单一责任原则
一堂课应该只有一个改变的理由.
OCP 开放原则
软件实体(类,模块,函数等)应该是可以扩展的,但是关闭以进行修改.
LSP Liskov替代原则
子类型必须可替代其基类型.
ISP 接口隔离原则
客户不应该被迫依赖他们不使用的方法.接口属于客户端,而不属于层次结构.
DIP 依赖倒置原则
抽象不应该依赖于细节.细节应取决于抽象.
- 从敏捷原则,模式和实践