单一责任和方法

时间:2019-02-13 01:36:41

标签: java software-design solid-principles code-cleanup clean-architecture

我想我可能会在这里回答我自己的问题,但是可以说,我在方法级别理解SRP意味着方法发挥了作用。如果我有每个方法都分别负责我班上一个特定角色的方法,但是如果一个方法使用很多这样的方法来完成一个角色,如save(),那么一切是否仍然坚持SRP?

这里是一个例子:

public void saveCertificationToDB(Cert cert){
  if(certificateIsNotExpired(cert){
      setCertProperties(cert);
      openConnectionToDB();
      overwriteCertificateInDB(cert);
      closeConnectionToDB();
      notifyUserSaveSuccessful();
      }
 }

1 个答案:

答案 0 :(得分:0)

单一责任原则:

没有特定规则,仅SRP是一个准则。但是,如果您想考虑SRP,则应始终牢记

  

更改代码块(如类,函数等)的唯一原因

但是根据您给定的功能,有很多理由来更改功能代码块。

示例:

如果属性设置功能由于任何原因被修改,那么您必须更改 saveCertificationToDB()

以同样的方式,如果由于其他任何原因导致其他调用函数发生任何更改,那么您的 saveCertificationToDB()也需要更改

所以,通常缺少很多