1
1
通过使用采用参数的内部方法,而不是将类成员变量视为该类的全局方法,不仅可以更容易地对这些函数进行单元测试,而且还可以减少由于该成员变量被无序更改而引入错误的可能性,特别是当类具有任何事件或工作线程DRIV时。行为。 所以我选择第二个例子,而不是第一个。 编辑 另外,如果您的编程语言支持它们,您可以为这些函数使用指向给定变量类型的指针,以便它们成为(在C样式的psuedo代码中):
而不是
|
2
1
我认为你面临的设计问题 Command and state separation 简而言之,我建议DetermineSomeResult()只计算字段“value”的新值而不返回它,获得“value”的唯一方法是通过getCachedValue()。
|
3
1
只要给出上面的代码,两个都可以。 然而,这里有一个微妙的问题,我想谈谈。在第一种情况下,您的内部状态可能处于不一致状态。如果PerformosMemoryStuffonValue方法在设置值的最终状态之前引发异常,则可能发生这种情况。第二种解决方案不会在不相容状态下离开,不考虑可能发挥作用的其他因素)。 |
Kazi · 如何让两个用户同时登录Laravel应用程序 6 年前 |
Mahdi GB · 如何在MVC中通过控制器将模型数据发送到视图# 6 年前 |
Denis Liger · 一个API两个通道 6 年前 |
codematix · 利用gRPC构建解决方案 6 年前 |
Filip T · 流量与全局变量(服务中) 6 年前 |
user3429660 · 如何使用RabbitMQ实现可靠性? 6 年前 |