Chodzi o posiadanie jednego wyjątkowego rola .
Każda klasa powinna zostać wznowiona nazwą roli. Rola to w rzeczywistości (zestaw) czasowników powiązanych z kontekstem.
Na przykład :
Plik zapewnia dostęp do pliku. FileManager zarządza obiektami File.
Dane wstrzymania zasobów dla jednego zasobu z pliku. ResourceManager wstrzymuje i udostępnia wszystkie zasoby.
Tutaj możesz zobaczyć, że niektóre czasowniki, takie jak „zarządzaj”, oznaczają zestaw innych czasowników. Same czasowniki są przez większość czasu lepiej uważane za funkcje niż klasy. Jeśli czasownik implikuje zbyt wiele działań, które mają swój wspólny kontekst, to powinien być klasą samą w sobie.
Chodzi więc o to, abyś miał proste wyobrażenie o tym, co robi klasa, poprzez zdefiniowanie unikalnej roli, która może być agregacją kilku podgrup (wykonywanych przez obiekty składowe lub inne obiekty).
Często buduję klasy menedżerów, które zawierają kilka różnych innych klas. Jak fabryka, rejestr itp. Zobacz klasę menedżera, taką jak szef grupy, szef orkiestry, który poprowadzi inne ludy do współpracy, aby osiągnąć pomysł na wysokim poziomie. Ma jedną rolę, ale implikuje pracę z innymi unikalnymi rolami w środku. Możesz także zobaczyć, jak jest zorganizowana firma: dyrektor generalny nie jest produktywny na poziomie czystej wydajności, ale jeśli go nie ma, nic nie może działać poprawnie razem. To jego rola.
Podczas projektowania określ unikalne role. I dla każdej roli ponownie sprawdź, czy nie można jej rozdzielić na kilka innych ról. W ten sposób, jeśli chcesz w prosty sposób zmienić sposób, w jaki Twój Menedżer buduje obiekty, po prostu zmień Fabrykę i idź spokojnie.