Skip to main content

Vad är en ansvarskedja?

Ansvarskedjan (COR) involverar processen att ange aktiviteter och ansvar för varje enhet i det objektorienterade designmönstret.Det finns två grundelement i en objektorienterad design;kommandoobjekt och bearbetning av objekt.Kommandobjekten genererar kommandona till bearbetningsobjekten och behandlingsobjekten väljer från de kommandon som de kan hantera och skicka resten till de andra i kedjan.Detta är den grundläggande principen i objektorienterad design, och det finns mycket mer flexibilitet i designen, till exempel den nya inneslutningen av objekten på vilken plats som helst i designmönstret för ansvarskedjan.

Fördelen bakom objektet orienteratDesign är att kommunikation inte är begränsad till avsändaren och mottagaren eftersom det finns många objekt där för att hantera avsändarens kommando.Det finns en kedja med olika objekt som ställer in för att hantera kommandona, och om man inte kan hantera den kan den vidarebefordra den till nästa i kedjan.Ansvareskedjan fortsätter att fortsätta tills ett av objekten accepterar kommandot.

Eftersom varje hanterare inte kan göra varje uppgift måste det finnas en grupp av hanterare som kan fungera kollektivt.Det kan finnas några nackdelar med ansvarskedjan eftersom några av kommandona förblir olösta, även i slutet av kedjan.För att ta itu med denna fråga är en lösning att implementera alla hanterare för alla möjliga förfrågningar. Det kan finnas några problem relaterade till de trasiga länkarna i kedjan av ansvarssystemet.Om programmeraren glömmer att länka kommandona kan begäran gå vilse.Begärningsrepresentationen är betydande eftersom den används i alla komponenter i ansvarskedjan.En annan brist som kan vara i utformningen av COR är att på grund av vissa problem i den konkreta hanteraren kan vissa förfrågningar hamna helt oadresserade i slutet av kedjan.Men allt i allt är ansvarskedjan ett bra system att implementera om det noggrant har utformats med tanke på alla relaterade aspekter.