对 Stack Overflow 问题的回答指出,特定框架违反了简单明了的 OOP 规则:单一职责原则 (SRP)。
单一职责原则真的是 OOP 的规则吗?
我对面向对象编程定义的理解是“使用对象及其行为来创建软件的范例”。这包括以下技术:封装、多态性和继承。
现在不要误会我的意思——我相信 SRP 是大多数优秀 OO 设计的关键,但我觉得在某些情况下可以而且应该打破这个原则(就像数据库规范化规则一样)。我积极推动 SRP 的好处,我的大部分代码都遵循这个原则。
但是,这是一条规则,因此暗示它不应该被打破吗?