Skip to main content

Hvad er en ansvarskæde?

Ansvarskæden (COR) involverer processen med at indikere aktiviteterne og ansvaret for hver eneste enhed i det objektorienterede designmønster.Der er to grundlæggende elementer i et objektorienteret design;Kommandoobjekter og behandlingsobjekter.Kommandoobjekterne genererer kommandoerne til behandlingsobjekter, og behandlingsobjekterne vælger mellem de kommandoer, de kan håndtere og videregive resten til de andre i kæden.Dette er det grundlæggende princip i objektorienteret design, og der er meget mere fleksibilitet i designet, såsom den nye indkapsling af objekterDesign er, at kommunikation ikke er begrænset til afsenderen og modtageren, fordi der er mange objekter der til at håndtere kommandoen afsendere.Der er en kæde af forskellige objekter, der stiller op for at håndtere kommandoerne, og hvis man ikke kan håndtere den, kan den videregive den til den næste i kæden.Ansvarskæden fortsætter med at fortsætte, indtil et af objekterne accepterer kommandoen.

Ansvarskæden skal være mere fleksibel og understøtte tilføjelsen af nye håndterere i kæden.Da hver handler ikke er i stand til at udføre hver eneste opgave, skal der være en gruppe af de håndterere, der kan fungere kollektivt.Der kan være nogle ulemper ved ansvarskæden, da nogle af kommandoerne forbliver uopløst, selv i slutningen af kæden.For at løse dette problem er en løsning at implementere alle håndterere til alle mulige anmodninger.

Der kan være nogle problemer i forbindelse med de ødelagte links i kæden af ansvarssystem.Hvis programmereren glemmer at forbinde kommandoerne, kunne anmodningen gå tabt.Anmodningsrepræsentationen er betydelig, fordi den bruges i alle komponenterne i ansvarskæden.En anden fejl, der kunne være i design af COR, er, at på grund af nogle problemer i betonbehandleren, kan nogle anmodninger muligvis ende helt uadresseret i slutningen af kæden.Men alt i alt er ansvarskæden et godt system at implementere, hvis det er omhyggeligt designet, i betragtning af alle de relaterede aspekter.