我希望我能正确地说出这个问题。在处理具有静态和实例可变字段的类中的状态和测试能力时,我有一个问题。
由于静态字段的生命周期/范围不同,静态字段是否构成不同的类/责任/实例?
如果是这样的话:那么实例字段也不应该是一个单独的类/数据结构吗?
然后:如果是这样的话,那么所有类都不应该是无状态只接收它们对构造的依赖,那么它们应该都是不可变的吗?
最后,这是否意味着函数式编程也是进行面向对象编程的正确方法?
答案 0 :(得分:3)
你不应该有(真的)可变的静态字段。这是糟糕的设计。功能编程使事情变得更容易。我会将这些问题分开:
等。
可测试性
本质上,如果数据库(磁盘)和请求层(web,ui,等等)符合要求,所有这些都可以以功能方式完成。在实践中,您尝试在漂亮和功能性之间进行“纯粹”部分,并使用设计模式来保护它免受外部污垢的影响。