Uforanderligt objekt
Indenfor objektorienteret og funktionsprogrammering, er et uforanderligt objekt (engelsk immutable, dansk uforanderligt[1]) et objekt, hvis tilstand ikke kan ændres, efter at det er oprettet.[2] Dette er i modsætning til et foranderligt objekt, som kan ændres efter at det er oprettet.[3] I nogle tilfælde anses et objekt for at være uforanderligt, selvom nogle internt anvendte attributter ændrer sig, men objektets tilstand fremstår uændret fra et eksternt synspunkt. For eksempel kan et objekt, der bruger memoization til at cache resultaterne af dyre beregninger, stadig betragtes som et uforanderligt objekt.
Tekststreng og andre konkrete objekter udtrykkes typisk som uforanderlige objekter for at forbedre læsbarheden og køretidseffektiviteten i objektorienteret programmering. Uforanderlige objekter er også nyttige, fordi de i sagens natur er trådsikre.[2] Andre fordele er, at de er nemmere at forstå og ræsonnere om og tilbyder højere it-sikkerhed end foranderlige objekter.[2]
Referencer
[redigér | rediger kildetekst]- ^ "immutable adjective - Definition, pictures, pronunciation and usage notes - Oxford Advanced Learner's Dictionary at OxfordLearnersDictionaries.com". www.oxfordlearnersdictionaries.com.
- ^ a b c Goetz et al. Java Concurrency in Practice. Addison Wesley Professional, 2006, Section 3.4. Immutability
- ^ "6.005 — Software Construction".
Eksterne henvisninger
[redigér | rediger kildetekst]Se Wiktionarys definition på ordet: |
- Immutable objects in C# using 3 simple steps.
- Article Java theory and practice: To mutate or not to mutate? by Brian Goetz, from IBM DeveloperWorks – saved copy at Internet Archive by Brian Goetz, from IBM DeveloperWorks – saved copy at Internet Archive
- Immutable objects from JavaPractices.com
- Immutable objects from Portland Pattern Repository
- Immutable.js by Facebook