|
|
1
5
正如朗肖特所写。问题很简单,就是
看:将状态与计算分离是一个很好的设计原则,但这并不意味着你会怎么想,至少我不能从这个例子中推断出你的想法。我们要确保州政府不会
改变
以便在下次计算时不重新初始化该状态时完成计算。如果state对于某个特定的计算是只读的,那么就不必在文体上强制重定向以避免直接读取它。也就是说,除非计算
和
状态足够复杂,需要单独的单元测试。那么,无论如何,B或C将是首选,但是
只有当为
|
|
|
2
1
我认为这取决于你的具体项目。是
任何一种方法都不或多或少有点像蟒蛇,使用一种可以满足您的项目的方法。干的可不是脓毒症。 |
|
|
3
0
我个人认为这取决于可恢复性。如果计算是可以与其他对象一起使用的(它看起来确实是这样),那么第三个示例是最可重用的。如果计算完全绑定到对象或永远不会被重用,则第一个示例。我认为第二个例子在大多数情况下是错误的。 |
|
|
4
0
A怎么了?它只在一个地方进行计算,并且不修改状态,所以用状态计算是一种不改变状态的方法,也是一种“简单”行为。如果状态很复杂,它会停止将大量参数传递到计算函数中。 但是,如果可以将状态作为参数(如C所示)来编写计算,则可以将计算分离出来。这样做的好处包括可以对不属于C类的数据执行此计算,还可以将此函数用作传递给C的数据,这样就可以使具有C状态的Calc_调用不同的计算函数 我看不出b有什么好处,因为inner_calc没有使用类,所以也可以是一个自由函数。 所以我可能会先把它写下来,然后如果想重用计算,让类使用不同的计算,或者如果计算代码太大,可以重构成C类 |
|
|
5
0
不管是静态方法还是全局方法,将计算结果分解都没有任何好处 关于国家意识 . 唯一的一个小优势是,代码显式地显示了在计算中考虑了对象的哪些状态属性(显示在函数调用的级别,而不是必须在类a中的方法逻辑中读取) 引入无状态(静态、全局)或实例方法可能还有其他好处:
但如前所述,这些结构 对国家管理本身没有帮助 . 对我来说,A方法似乎是相当合法的(而且是蟒蛇式的)。的确 戴维伯杰 打败我们,提醒我们… 平的比嵌套的好!. |