Jaký je princip jediné odpovědnosti?

V počítačovém programování a designu je princip jediné odpovědnosti koncept, který obhajuje názor, že jakákoli třída v programu by měla vykonávat pouze jednu funkci ve větší aplikaci. Tato myšlenka částečně propaguje některé z ideálů objektově orientovaného programování, jako je zapouzdření, protože celá třída bude zaměřena na vykonávání jediné odpovědnosti a bude se jen málo spoléhat na vnější třídy. Současně je to poněkud antitetické pro některé z konceptů raného objektového programování, protože funkce jediného objektu je od dat, která objekt manipuluje, což znamená, že může být nutné konstruovat mnoho objektů v kombinaci, aby se udržela některá centrální data. Princip jediné odpovědnosti je základem pro typ modelu designu známý jako design řízený odpovědností.

Příklad principu jediné odpovědnosti by mohl mít podobu tradičního telefonu. Některé principy designu by viděly sluchátko as Jeden objekt, který zpracovává jak vstup z telefonní linky, tak přenos výstupu z reproduktoru. Podle jednoho modelu odpovědnosti, ve kterém by jeden objekt měl mít pouze jednu odpovědnost, by pak sluchátko sestávalo z několika samostatných objektů, které každý provedl jednu funkci, jako je pouze přijímání vstupu z telefonní linky, nebo pouze výstup dat prostřednictvím sluchátka.

Jednou z výhod, které využívající princip jedné odpovědnosti umožňuje, je velmi vysoká úroveň abstrakce a modularity. V příkladu sluchátka může být vstup z telefonní linky nebo způsob, jakým je signál vydán uživateli, změnit se, aniž by to ovlivnilo sousední třídy, pokud dodržují stejnou smlouvu na propojení. Kromě toho může být opětovná použitelnost určitých složek velmi vysoká, protože každá třída je plně zapouzdřena a opírá se o very málo, pokud vůbec, na okolních předmětech, místo toho se zaměřuje na svou jednu odpovědnost.

2 To může znamenat velké množství režijních nákladů a komplikovaný proces návrhu. Může také ztěžovat ladění velkého programu, protože jedna část programu by mohla sestávat z tisíců malých souborů tříd.

Když je princip jediné odpovědnosti aplikován prostřednictvím návrhu řízeného odpovědností, data a metody použité k manipulaci s údaji jsou pro účely návrhu odděleny. I když to vede k určité svobodě, zapouzdření a modularitě v designu, může také generovat řadu středních vzorů a vzorů, které musí být použity k usnadnění řady tříd, které se pokoušejí interagovat s daty najednou. Na druhou stranu, pokud jsou data objektu a metody použité k manipulaci s nimi navázányJejí v jediném objektu s více odpovědností, pak se kód může stát těžší modifikovat jako systémové měřítko, měnit nebo stát složitější.

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?