Co je řetěz odpovědnosti?

Řetězec odpovědnosti (VR) zahrnuje proces označování činností a odpovědností každé entity v objektově orientovaném návrhovém vzoru. V objektově orientovaném designu existují dva základní prvky; příkazové objekty a objekty zpracování. Objekty příkazů generují příkazy k objektům pro zpracování a objekty pro zpracování si vyberou z příkazů, které mohou zpracovat a zbytek předat ostatním v řetězci. Toto je základní princip v objektově orientovaném designu a v designu je mnohem větší flexibilita, jako je nové uzavření objektů na jakémkoli místě v návrhovém vzoru řetězce odpovědnosti.

Výhodou objektově orientovaného návrhu je, že komunikace není omezena na odesílatele a přijímače, protože existuje mnoho objektů, které zpracovávají příkaz odesílatele. Existuje řada různých objektů, které se zarovnávají, aby zpracovávaly příkazy, a pokud je člověk nemůže zpracovat, pak jej může přenést na další v řetězci. Řetězec odpovědnosti pokračuje, dokud jeden z objektů nepřijme příkaz.

Řetězec odpovědnosti musí být pružnější a podporovat přidávání nových obsluhy do řetězce. Protože každý obsluhující pracovník není schopen provádět každý úkol, musí existovat skupina obsluhujících pracovníků, která může pracovat společně. Mohlo by dojít k určitým nedostatkům řetězce odpovědnosti, protože některé příkazy zůstávají nevyřešené, a to i na konci řetězce. Jedním z řešení tohoto problému je implementace všech obslužných programů pro všechny možné požadavky.

Mohly by existovat problémy související s přerušenými články v systému odpovědnosti. Pokud programátor zapomene propojit příkazy, žádost by se mohla ztratit. Reprezentace žádosti je významná, protože se používá ve všech složkách řetězce odpovědnosti. Další vada, která by mohla být v návrhu VR, spočívá v tom, že kvůli některým problémům v konkrétním zpracovateli mohou některé požadavky na konci řetězce zcela neadresovat. Celkově je však řetězec odpovědností dobrým systémem, který byl zaveden, pokud byl pečlivě navržen s ohledem na všechny související aspekty.

JINÉ JAZYKY

Pomohl vám tento článek? Děkuji za zpětnou vazbu Děkuji za zpětnou vazbu

Jak můžeme pomoci? Jak můžeme pomoci?