Czy jest jakaś różnica między nazwaniem klasy „moduł obsługi”, „menedżer” lub „kontroler”? IE: PurchaseManager
, PurchaseHandler
, PurchaseController
.
Czy te środki przekazu mają takie samo znaczenie, czy istnieje wyraźna różnica między nimi?
Jeśli nie ma odpowiedzi niezależnej od języka, rozważ Java jako język.
Odpowiedzi:
Zwykle „kontroler” to interfejs między komponentem interfejsu użytkownika a modelem (np. Zakup). Kontrolery powinny być cienkimi klasami, wykonującymi niewiele więcej niż mapowanie zdarzeń interfejsu użytkownika na funkcje modelu.
„Menedżer” to zapach kodu. Zakup powinien sam się zarządzać lub może być zarządzany przez klasę będącą właścicielem, taką jak Sprzedawca lub Kupujący.
„Program obsługi” jest zwykle pojedynczą funkcją zawiniętą w obiekt. Są one potrzebne podczas programowania w starszych językach bez pierwszorzędnych funkcji.
źródło
Chociaż moja odpowiedź nie jest oparta na definicji, widzę coś oznaczonego jako „kontroler” jako implementację wyłączną w porównaniu z „obsługą” jako włącznie . Spodziewałbym się zobaczyć tylko jedno istnienie „PurchaseController” i wiele możliwych wersji „PurchaseHandler”.
Myślę, że inną popularną nazwą kontrolera jest „Broker” - co nieco zmienia jego perspektywę.
źródło