Я бы сказал, что термины типа «Контроллер» - это, в основном, одни и те же имена для потенциально очень разных вещей в зависимости от того, какую методологию / структуру вы используете. На очень высоком уровне они могут выполнять одно и то же действие - отсюда использование общего имени - но их обязанности и сфера действия в контексте структуры обычно будут гораздо более конкретными и разными.
Например: Контроллер в MVC имеет мало или ничего общего со слоем Контроллер в WCSF.
Я думаю, что такие термины, как «Контроллер / Сервис» и т. Д., Являются общими и, следовательно, используются во многих средах, но имеют особое значение в рамках ссылок.
Кроме того, для меня, в частности, контроллер и сервис - это две совершенно разные концепции.
Контроллер - это что-то вроде слоя, который отвечает за оркестровку логики в приложении / или аспект приложения
Сервис, для меня, по сути, является внешним API, через который вы предоставляете аспекты своего приложения стандартным образом