Oto odpowiedź z nieco abstrakcyjnego, teoretycznego kąta wykresu:
Uprośćmy problem, patrząc tylko na (ukierunkowane) wykresy zależności między obiektami stanowymi.
Niezwykle prostą odpowiedź można zilustrować, rozważając dwa graniczne przypadki wykresów zależności:
Pierwszy przypadek graniczny : wykresy skupień .
Graf skupień jest najdoskonalszą realizacją wykresu zależności o wysokiej spójności i niskim sprzężeniu (biorąc pod uwagę zestaw rozmiarów klastrów).
Zależność między klastrami jest maksymalna (w pełni połączone), a zależność między klastrami jest minimalna (zero).
To jest abstrakcyjna ilustracja odpowiedzi w jednym z ograniczających przypadków .
Drugi przypadek ograniczający to w pełni połączony wykres, w którym wszystko zależy od wszystkiego.
Rzeczywistość jest gdzieś pomiędzy, im bliżej wykresu skupień, tym lepiej, w moim skromnym rozumieniu.
Z innego punktu widzenia : patrząc na wykres zależności ukierunkowanej, najlepiej powinien być acykliczny, jeśli nie, to cykle tworzą najmniejsze skupienia / komponenty.
Jeden krok w górę / w dół w hierarchii odpowiada „jednej instancji” luźnego sprzężenia, ścisłej spójności w oprogramowaniu, ale można postrzegać tę zasadę luźnego sprzężenia / ścisłej kohezji jako powtarzające się zjawisko na różnych głębokościach acyklicznego wykresu skierowanego (lub na jeden z jego drzew rozpinających).
Taka dekompozycja systemu na hierarchię pomaga pokonać wykładniczą złożoność (powiedzmy, że każdy klaster ma 10 elementów). Następnie przy 6 warstwach to już 1 milion obiektów:
10 gromad tworzy 1 supergromadę, 10 supergromad tworzy 1 hipergromadę i tak dalej ... bez koncepcji ścisłej spójności, luźnego sprzężenia, taka hierarchiczna architektura nie byłaby możliwa.
Może to być więc prawdziwe znaczenie tej historii, a nie tylko sprzężenie o wysokiej spójności i niskim sprzężeniu tylko w dwóch warstwach. Prawdziwe znaczenie staje się jasne, gdy rozważa się abstrakcje wyższego poziomu i ich interakcje.