单一责任(SOLID原则)

时间:2018-08-30 12:26:55

标签: oop model-view-controller solid-principles single-responsibility-principle

我的问题是关于以下内容。我知道,班级应该只承担一项责任,甚至没有责任。例如在用户类中,我们不应该具有注册用户的功能和另一个发送电子邮件的功能。最好将电子邮件发送到单独的类中,因为如果我们不这样做,则用户类将承担两个责任。

问题1)您是否使用过MVC框架(例如Laravel)?在那里,如果我创建一个类,将有5个函数(插入,创建,获取,放入,删除)。您认为这是单一责任吗?因为它有5个功能。我认为是的,因为它仍然可以处理用户。

问题2)为什么您认为这个原则很好?我认为以下几点:

  

a)因为最好有不同的责任   分别进行测试,因为最好以不同的方式测试这些代码。

     

b)我们可以在其他上下文中使用那些单独的类。

     

c)据说班级应该只有一个改变的理由。为什么是   如果用户类有两项职责,而我需要其中一项职责,那是很糟糕的   他们要改变,我总是来找用户的。为什么这样不好?

有人会提供更多真实的场景吗?

0 个答案:

没有答案