Skip to main content

Hva er en ansvarskjede?

Ansvarskjeden (COR) innebærer prosessen med å indikere aktiviteter og ansvar for hver enkelt enhet i objektorientert designmønster.Det er to grunnleggende elementer i et objektorientert design;kommando objekter og behandle objekter.Kommandoen objekter genererer kommandoene til behandlingsobjektene, og behandlingsobjektene velger fra kommandoene de kan håndtere og gi resten til de andre i kjeden.Dette er det grunnleggende prinsippet i objektorientert design, og det er mye mer fleksibilitet i designen, for eksempel den nye kabinettet til objektene hvor som helst i designmønsteret til ansvarskjeden.

Fordelen bak objektet orientertDesign er at kommunikasjon ikke er begrenset til avsenderen og mottakeren fordi det er mange objekter der for å håndtere avsenderkommandoen.Det er en kjede med forskjellige objekter som stiller opp for å håndtere kommandoene, og hvis man ikke kan takle den, kan den passere den til den neste i kjeden.Ansvarskjeden fortsetter å fortsette til et av objektene godtar kommandoen.

ansvarskjede må være mer fleksibel og støtte tillegg av nye håndterere i kjeden.Siden hver behandler ikke er i stand til å gjøre hver eneste oppgave, må det være en gruppe av håndtererne som kan fungere samlet.Det kan være noen ulemper med ansvarskjeden da noen av kommandoene forblir uløst, selv på slutten av kjeden.For å løse dette problemet er en løsning å implementere alle håndtererne for alle mulige forespørsler.

Det kan være noen problemer relatert til de ødelagte koblingene i ansvarssystemet.Hvis programmereren glemmer å koble kommandoene, kan forespørselen gå seg vill.Forespørselsrepresentasjonen er betydelig fordi den blir brukt i alle komponentene i ansvarskjeden.En annen feil som kan være i utformingen av COR er at på grunn av noen problemer i betongbehandleren, kan noen forespørsler ende opp helt uadressert på slutten av kjeden.Men alt i alt er ansvarskjeden et godt system å implementere hvis det nøye er designet, med tanke på alle de relaterte aspektene.