В чем разница между контроллером и сервисом? - PullRequest
6 голосов
/ 18 сентября 2010

Я ищу, как структурировать слой моего приложения между уровнем представления и уровнем модели / бизнес-объекта. Я вижу примеры, использующие классы Controller и другие, использующие классы Service. Это одни и те же вещи с разными названиями для разных методологий, или есть более фундаментальное различие?

Edit: Чтобы поставить вопрос в контекст, это приложение PHP, использующее Doctrine в качестве ORM.

1 Ответ

2 голосов
/ 18 сентября 2010

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

Например: Контроллер в MVC имеет мало или ничего общего со слоем Контроллер в WCSF.

Я думаю, что такие термины, как «Контроллер / Сервис» и т. Д., Являются общими и, следовательно, используются во многих средах, но имеют особое значение в рамках ссылок.

Кроме того, для меня, в частности, контроллер и сервис - это две совершенно разные концепции.

Контроллер - это что-то вроде слоя, который отвечает за оркестровку логики в приложении / или аспект приложения

Сервис, для меня, по сути, является внешним API, через который вы предоставляете аспекты своего приложения стандартным образом

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...