gpt4 book ai didi

c# - string.IsNullOrEmpty(myString) 或 string.IsNullOrWhiteSpace(myString) 是否违反 SRP 规则?

转载 作者:可可西里 更新时间:2023-11-01 08:19:16 25 4
gpt4 key购买 nike

如问题所示,

正如函数名称所示,我们正在使用像 IsNullOrEmpty 或 IsNullOrWhiteSpace 这样的字符串函数,它们做的不止一项工作,这是否违反了 SRP

它不应该是 string.isValid(Enum typeofValidation) 而不是使用策略模式来选择正确的策略来验证。

或者在实用程序类或静态类中违反 SRP 是否完全可以。

最佳答案

SRP 说一个函数或类应该只有一个改变的理由。改变的理由是什么?更改的原因是请求更改的用户。因此,一个类或函数应该只有一个请求更改的用户。

现在,一个先进行一些计算然后进行一些格式化的函数有两个不同的用户可以请求更改。一个会请求更改计算,另一个会请求更改格式。由于这些用户有不同的需求并且会在不同的时间提出他们的请求,我们希望他们由不同的功能提供服务。

IsNullOrEmpty(String) 不太可能为两个不同的用户提供服务。关心 null 的用户很可能就是关心 empty 的用户,因此 isNullOrEmpty 不违反 SRP。

关于c# - string.IsNullOrEmpty(myString) 或 string.IsNullOrWhiteSpace(myString) 是否违反 SRP 规则?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9586958/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com