Śledzę tę myśl: 1 Class = 1 Job
.
Korzystanie z analogii fizjologii: silnik (układ nerwowy), oddychanie (płuca), pokarmowy (żołądek), węchowy (obserwacja) itp. Każdy z nich będzie miał podzbiór kontrolerów, ale każdy z nich ma tylko 1 odpowiedzialność, niezależnie od tego, czy ma zarządzać sposób, w jaki działa każdy z ich podsystemów lub czy są one podsystemem punktu końcowego i wykonują tylko jedno zadanie, takie jak podniesienie palca lub wyhodowanie mieszków włosowych.
Nie należy mylić faktu, że może on działać jako kierownik zamiast pracownika. Niektórzy pracownicy ostatecznie awansują na kierownika, gdy praca, którą wykonują, stała się zbyt skomplikowana, aby jeden proces mógł sam sobie poradzić.
Najbardziej skomplikowaną częścią tego, czego doświadczyłem, jest wiedza, kiedy wyznaczyć klasę jako operatora, przełożonego lub kierownika. Niezależnie od tego musisz obserwować i oznaczać jego funkcjonalność dla 1 odpowiedzialności (Operator, Kierownik lub Kierownik).
Gdy klasa / obiekt wykonuje więcej niż jedną z tych ról typu, przekonasz się, że w całym procesie zaczną występować problemy z wydajnością lub będą występować wąskie gardła.