Forelæsningsnoter i Objekt-orienteret Programmering Designkontrakter og ansvarsfordeling
Ansvarsfordeling
Bevidsthed om ansvarsfordeling er en mulig nøgle til at holde programkompleksiteten i ave.
Her ser vi først generelt på problemstilling om 'ansvarsfordeling'
De fleste klasser i et objekt-orienteret program forvalter et bestemt ansvar
Med 'ansvarsfordeling' interesserer vi os bl.a. for hvorledes vi kan undgå
overlappende ansvar mellem klasserne og ansvarsforflygtigelse.
Generelt om ansvarsfordeling
Uden en klar fordeling af ansvar vil der være en tendens til
at alle dele af et program påtager sig et stort ansvar
at alle dele af et program checker for alle mulige betingelser (defensiv programmering)
at gøre et stort program større og mere kompleks
Med en klar fordeling af ansvar opnår vi
at operationerne i et program kan operere i forhold til ganske bestemte forudsætninger
minimale mængder af check af mulige fejlbetingelser
positivt bidrag i retning af et mere enkle programmer