Termer 6 Flashcards
Mutability
per default i Jaa arbetar vi med objekt som är muterbara, dvs kan förändras på ett eller annat sätt
Immutability
att använda icke-muterbara objekt
alla instansattribut måste vara konstanta, garantera att inga framtida muterbara subklasser kan existera
Defensive copying
för att garantera att inga alias finns till eventuella muterbara objekt vi har i attribut behöver vi skapa så kallade defensive copies
Immutable adapters
om det objekt vi vill bero på internt är muterbart men inte låter sig kopieras (ingen defensive copying) kan vi ändå med hjälp av adapter pattern få det att uppträda som om det vore immutable
Design by contract
designfilosofi där en metods specifikation betraktas som ett kontrakt mellan anroparen (klienten) och metoden
Förvillkor: predikat som måste vara uppfyllt för att metoden ska få anropas
Eftervillkor: predikat som garanteras gälla efter att metodanropet är fullbordat, givet att förvillkoret var uppfyllt innan
Invariant: predikat som måste gälla för att en klass ska vara i ett välformat tillstånd
Exceptions
ett objekt som representerar ,och innehåller information, om ett fel som uppstått av en eller annan anledning
kan kastas (throw)
kan fångas (catch)
Entitet
en entitet är “någonting” ur domänen som har en egen identitet