Las mejores prácticas para la modificación de los atributos de la colección funcionalmente

votos
14

Tengo curiosidad por cómo hacer para implementar una clase que obedece a estrictas reglas de programación funcional.

Por ejemplo, si tengo una clase que tiene dos atributos y tengo un método que los modifica, ¿cómo hago para hacerlo? Los atributos serían Vals privadas, y el método tendrían que devolver una nueva instancia del atributo cada vez que lo modifica. Esto está bien, excepto que me gustaría mantener que contenía, lo que significa que iba a necesitar una manera de establecer el val.

¿Cuál sería la mejor manera de hacer esto por lo que no tengo miles de casos de, por ejemplo, una colección, flotando en la memoria?

Publicado el 27/07/2014 a las 17:27
por usuario
En otros idiomas...                            


1 respuestas

votos
0

Esta es mi opinión, pero; al igual que las clases de casos hacen, me gustaría poner en práctica un copymétodo de clase de la clase para hacer posible la modificación, manteniendo la inmutabilidad, pero no existe algunos casos que no puedo evitar tener que mutable; por ejemplo, cuando se espera algo para que la operación de copia demasiado grande y lento para la clase; como cuando la clase tiene tantos miembros frecuentemente modificados. Y no se preocupe por miles de casos que circulan en la memoria, porque son automáticamente GC'ed, por lo que el problema más real es el costo de tiempo de copia de instancias de la clase. Por favor dígame si mi opinión es de alguna manera equivocada :)

Respondida el 27/07/2014 a las 17:57
fuente por usuario

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more