我很好奇如何实现一个遵守严格的函数式编程规则的类。
例如,如果我有一个具有两个属性的类,并且我有一个修改它们的方法,那么我该怎么做呢?属性将是私有val,并且该方法必须在每次修改属性时返回该属性的新实例。这很好,除了我想保持它包含,这意味着我需要一种方法来设置val。
这样做的最佳方法是什么,以便我没有成千上万的说法,一个集合,在内存中浮动?
答案 0 :(得分:0)
这是我的意见,但是;就像案例类一样,我会在类上实现一种copy
方法,以便在保持不变性的同时进行修改,但是在某些情况下,我可以帮助它使它变得可变;例如,当某些东西被要求使复制操作过大而且对于类慢;比如当班级有这么多经常修改的成员。并且不用担心数以千计的实例在内存中浮动,因为它们是自动GC编写的,因此更实际的问题是复制类实例的时间成本。请告诉我,如果我的意见有点错误:)