Beste praksis for å modifisere samling attributter funksjonelt

stemmer
14

Jeg er nysgjerrig hvordan du går om å implementere en klasse som adlyder strenge funksjonelle programmerings regler.

For eksempel, hvis jeg har en klasse som har to attributter, og jeg har en metode som endrer dem, hvordan skulle jeg gå om du gjør det? Attributtene vil være private vals, og metoden må returnere en ny forekomst av attributtet hver gang den endrer den. Dette er greit, bortsett fra jeg ønsker å holde det inneholdt, noe som betyr at jeg trenger en måte å sette val.

Hva ville være den beste måten å gjøre dette på, slik at jeg ikke har tusenvis av tilfeller av si, en samling, flyter rundt i minnet?

Publisert på 27/07/2014 klokken 16:27
bruker
På andre språk...                            


1 svar

stemmer
0

Dette er min mening, men; akkurat som case klasser gjør, ville jeg gjennomføre en copymetode slags på klassen for å gjøre endring mulig samtidig som uforanderlighet, men det finnes noen tilfeller at jeg ikke kan hjelpe å ha det foranderlig; for eksempel når det er noe som forventes å gjøre kopieringen for stor og treg for klassen; liker når klassen har så mange ofte modifiserte medlemmer. Og ikke bekymre deg for tusenvis av tilfeller flyter rundt i minnet, fordi de er automatisk GC'ed, så jo mer egentlige problemet er tiden kostnadene ved å kopiere klassens tilfeller. Fortell meg om min mening er liksom galt :)

Svarte 27/07/2014 kl. 16:57
kilden bruker

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