“Zodpovědnost přiřaď tak, aby zodpovědnosti jednoho prvku spolu co nejvíce souvisely (= vysoká soudržnost).”
Nechceš mít třídy (nebo obecně prvky), které dělají celou řadu nesouvisejících věcí či samy dělají velké množství práce velkého rozsahu.
Takové třídy jsou pak velmi nepřehledné a člověk v nich dlouho hledá konkrétní zodpovědnost, která ho zajímá a musí se probírat ostatními.
Znovupoužitelnost je obtížná, protože pokud takový prvek chci použít znovu, tak ho musím vzít i s tunou dalších metod, které s tou zodpovědností, kterou chci znovu použít vůbec nesouvisejí. Takové prvky mají také složitější údržbu.
Výhody vysoce soudržných tříd:
- snadno je pochopím
- dobře se mi udržují
- jsou stabilní a méně často se mění
- jsou znovupoužitelné
Pokud zvolím příliš hrubou granularitu zodpovědností v návrhu ⇒ můžou vznikat třídy s nízkou soudržností. Také to vzniká, když se objekt snaží sám dělat činnosti, které by měl spíše delegovat na jiné, specializovanější objekty.