Уровень контроллера, по моему мнению, является частью представления. То, что вы называете бизнес-уровнем, я называю сервисами (, а не веб-сервисами; это лишь один из множества вариантов развертывания).
Бизнес-уровень знает о вариантах использования и единицах работы для достижения целей пользователей.
Контроллер занимается проверкой, связыванием и маршалингом запросов, определяет, какая служба необходима для выполнения запроса, и передает ему значения, отменяет маршализацию ответа и направляет его в следующее соответствующее представление.
Поэтому я согласен с гипотезой, изложенной в вашем названии: контроллер! = Сервис.
Классическим шаблоном, пришедшим из Smalltalk, является Model-View-Controller, который не согласуется с моим утверждением, разбив представление и контроллер на отдельные уровни.
То, что я описываю, - это то, что реализовано в платформах Java как для веб, так и для настольных компьютеров. Изменение технологии представления обычно означает также изменение контроллера.
Таким образом, если бы идиома Smalltalk была модель-представление-контроллер, более современный подход был бы похож на представление-> контроллер-> сервис-> модель / постоянство. Модель означает «доменные объекты», которые не зависят от всех технологий просмотра.