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 kabinet af objekterne på ethvert sted i designmønsteret i ansvarskæden.
Fordelen bag objektorienteret design er, at kommunikation ikke er begrænset til afsenderen og modtageren, fordi der er mange objekter der til at håndtere afsenderens kommando. 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 tilnæ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 relateret til de ødelagte links i kæden af ansvarlighedssystem. 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 thaT 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 til at implementere, hvis det omhyggeligt er designet, i betragtning af alle de relaterede aspekter.