Les meilleures pratiques pour modifier les attributs collection fonctionnellement

voix
14

Je suis curieux de savoir comment s'y prendre pour mettre en œuvre une classe qui obéit à des règles strictes de programmation fonctionnelle.

Par exemple, si j'ai une classe qui a deux attributs et j'ai une méthode qui les modifie, comment pourrais-je aller à le faire? Les attributs seraient vals privés, et la méthode devraient retourner une nouvelle instance de l'attribut à chaque fois qu'il modifie. Cela est bien, sauf que je voudrais garder contenu, ce qui signifie que je aurais besoin d'un moyen de régler le val.

Quelle serait la meilleure façon de le faire pour que je n'ai pas des milliers de cas de dire, une collection, flottant dans la mémoire?

Créé 27/07/2014 à 17:27
utilisateur
Dans d'autres langues...                            


1 réponses

voix
0

Ceci est mon opinion, mais; tout comme les classes de cas font, je mettre en œuvre une copyméthode de toutes sortes sur la classe pour rendre la modification possible tout en gardant l'immuabilité, mais il existe certains cas que je ne peux pas aider à l' avoir mutable; par exemple, quand quelque chose devrait rendre l'opération de copie trop grand et lent pour la classe; comme lorsque la classe a tant de membres fréquemment modifiés. Et ne vous inquiétez pas des milliers de cas flottant dans la mémoire, parce qu'ils sont automatiquement GC'ed, de sorte que le problème plus réel est le coût du temps de copie des instances de la classe. S'il vous plaît me dire si mon opinion est en quelque sorte de mal :)

Créé 27/07/2014 à 17:57
source utilisateur

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