我的问题是关于以下内容。我知道,班级应该只承担一项责任,甚至没有责任。例如在用户类中,我们不应该具有注册用户的功能和另一个发送电子邮件的功能。最好将电子邮件发送到单独的类中,因为如果我们不这样做,则用户类将承担两个责任。
问题1)您是否使用过MVC框架(例如Laravel)?在那里,如果我创建一个类,将有5个函数(插入,创建,获取,放入,删除)。您认为这是单一责任吗?因为它有5个功能。我认为是的,因为它仍然可以处理用户。
问题2)为什么您认为这个原则很好?我认为以下几点:
a)因为最好有不同的责任 分别进行测试,因为最好以不同的方式测试这些代码。
b)我们可以在其他上下文中使用那些单独的类。
c)据说班级应该只有一个改变的理由。为什么是 如果用户类有两项职责,而我需要其中一项职责,那是很糟糕的 他们要改变,我总是来找用户的。为什么这样不好?
有人会提供更多真实的场景吗?