Есть ли разница между именованием класса «Обработчик», «Менеджер» или «Контроллер»? IE: PurchaseManager
, PurchaseHandler
, PurchaseController
.
Достаточно ли одного и того же значения, или между ними есть четкая разница?
Если нет никакого независимого от языка ответа, рассмотрите Java как язык.
Ответы:
Обычно «Контроллер» - это интерфейс между компонентом пользовательского интерфейса и моделью (например, Закупка). Контроллеры должны быть тонкими классами, делая не больше, чем отображение событий пользовательского интерфейса на функции модели.
«Менеджер» - это запах кода. Покупка должна управляться сама собой, или она может управляться владельцем класса, таким как Vendor или Buyer.
«Обработчик» - это обычно отдельная функция, заключенная в объект. Они необходимы при программировании на устаревших языках без первоклассных функций.
источник
Хотя мой ответ не основан на определении, я рассматриваю нечто, помеченное как «Контроллер», как эксклюзивную реализацию, а не «Обработчик» как включающий . Я ожидаю увидеть только одно существование «PurchaseController» и несколько возможных версий «PurchaseHandler».
Я думаю, что другое общее название для Controller - «Брокер», что немного меняет взгляд на него.
источник