Хотите улучшить этот вопрос? Обновите вопрос , чтобы он был по теме для Stack Overflow.
Закрыто в прошлом году .
«Уровень приложения [его имя для уровня обслуживания]: определяет задания,
программное обеспечение должно делать и направлять выразительные объекты предметной области
для решения проблем. Этот уровень отвечает за следующие задачи:
значимы для бизнеса или необходимы для взаимодействия с
прикладные уровни других систем. Этот слой остается тонким. Оно делает
не содержат бизнес-правил или знаний, а только координируют задачи
и делегирует работу для совместной работы объектов предметной области в следующем
слой вниз. В нем нет состояния, отражающего бизнес-ситуацию,
но он может иметь состояние, которое отражает прогресс задачи для
пользователя или программы ».
Теперь рассмотрим приведенное выше описание (а также см. книгу Фаулера PEAA, касающуюся идентификации методов уровня сервиса из вариантов использования), а также рассмотрим картинку в описании Фаулером уровня сервиса, которая иллюстрирует, что уровень сервиса является первый уровень после «пользовательского интерфейса» по этому URL: http://martinfowler.com/eaaCatalog/serviceLayer.html
Теперь сравните вышеупомянутое описание уровня сервиса / приложения
с некоторыми словами Лармана о контроллере GRASP (в 3-м
издание его бестселлера по OOAD "Применение UML и шаблонов", возраст
302-306):
"... первый объект за пределами уровня пользовательского интерфейса, который получает и координирует
("контролирует") работу системы ... "
"... представляет собой сценарий использования, в котором системное событие
происходит..."
"... Обычно контроллер должен делегировать работу другим объектам.
что нужно сделать; он координирует или контролирует деятельность. Это
сам по себе не выполняет много работы ... "
Я думаю, что уровень контроллера GRASP Лармана такой же, как и
Уровень приложений / услуг Эванса / Фаулера. Другие люди не согласны?
Затем, пожалуйста, объясните существенные различия между этими концепциями и приведите пример класса контроллера вместо класса службы / приложения.
Мой вопрос возникает из-за того, что некоторые говорят, что создание объектов предметной области модели является обязанностью контроллера, а не другой уровень сервиса / приложения. Но не могли бы вы привести мне пример класса уровня обслуживания и разницы между классом контроллера?