单一责任和方法

问题描述 投票:-1回答:1

我想我可以在这里回答我自己的问题,但是让我说我​​理解方法层面的SRP意味着一个方法可以起到一个作用。如果我有方法,每个方法都单独覆盖我的类中的一个特定角色,但是一个使用大量这些方法来完成一个角色的方法,比如save(),那么一切仍然会遵循SRP吗?

这是一个例子:

public void saveCertificationToDB(Cert cert){
  if(certificateIsNotExpired(cert){
      setCertProperties(cert);
      openConnectionToDB();
      overwriteCertificateInDB(cert);
      closeConnectionToDB();
      notifyUserSaveSuccessful();
      }
 }
java software-design solid-principles code-cleanup clean-architecture
1个回答
0
投票

单一责任原则:

没有具体的规则,只是SRP是一个指导方针。但是如果你想考虑SRP那么你应该始终牢记

改变代码块的唯一原因,如类,功能等。

但是根据你给定的函数,有很多理由改变你的功能代码块。

例:

如果属性设置功能因任何原因而修改,则必须更改saveCertificationToDB()

同样,如果由于任何其他原因而对其他调用函数进行任何更改,那么您的saveCertificationToDB()也需要更改

所以,一般来说有很多缺点

© www.soinside.com 2019 - 2024. All rights reserved.