MVCS-Model View Controller Service
Я использую MVC в течение длительного времени и слышал о "сервис " слой (например, в веб-проекте Java), и мне было интересно, если это настоящий архитектурный шаблон учитывая, что я не могу найти много информации об этом.
идея MVCS состоит в том, чтобы иметь уровень обслуживания между контроллером и моделью, чтобы инкапсулировать бизнес-логику, которая может быть в контроллере. Таким образом, контроллеры просто там вперед и контролировать выполнение. И вы можете вызвать службу во многих контроллерах (например, веб-сайт и веб-сервис), не дублируя код.
2 ответов:
уровень сервиса может быть inerpreted много способов, но это, как правило, где у вас есть логика обработки основного бизнеса, и сидит ниже вашей архитектуры MVC, но выше вашей архитектуры доступа к данным.
например, Вы слой системы может выглядеть так:
- View Layer: ваш MVC framework & code of choice
- сервисный уровень: ваш контроллер будет вызывать объекты этого уровня для получения или обновления моделей или других запросы.
- объекты доступа к данным: это абстракции, которые ваш уровень обслуживания будет вызывать для получения / обновления необходимых данных. Этот уровень обычно вызывает базу данных или какую-либо другую систему (например: сервер LDAP, веб-служба или БД типа NoSql)
тогда уровень сервиса будет отвечать за:
- восстановление и создание вашей "модели" из различных источников данных (или объектов доступа к данным).
- обновление значений в различных репозитории / ресурсы.
- выполнение конкретной логики приложения и манипуляций и т. д.
ваша модель, которую вы используете в своем MVC, может или не может исходить из ваших сервисов. Вы можете взять результаты, которые дает вам ваша служба, и манипулировать ими в модели, которая более специфична для вашего носителя (например: веб-страница).
Я сам думал об этом шаблоне, не видя никаких ссылок на это где-либо еще и искал Google и нашел ваш вопрос здесь :)
даже сегодня нет много какой-либо орган говорить или размещать о
Вид-Контроллер Шаблон Обслуживания.
думал, чтобы вы знали, что другие думают то же самое, и изображение выше-это то, как я вижу, как это должно быть.
В настоящее время я использую это в проекте, над которым я сейчас работаю.
У меня есть это в модулях с каждым слоем на изображении выше с собственным автономным модулем.
уровень служб является "соединителем" "посредником" "контроллером на стороне сервера" в том, что делает "клиентский" контроллер для клиента, "служба" делает для сервера.
другими словами, клиентский "контроллер" только "разговаривает" с" Службой " aka серверной стороной Контроллер.
контроллер - - - > запрашивает и получает от
уровень сервиса извлекает или предоставляет информацию слоям на стороне сервера, которая в ней нуждается.
сам по себе сервис не делает ничего, кроме подключения серверных слоев с тем, что им нужно.
вот пример кода:



Comments