Рекомендации по реализации методов уровня обслуживания - PullRequest
2 голосов
/ 16 ноября 2011

Мы разрабатываем трехуровневое приложение, в котором уровень представления взаимодействует с уровнем обслуживания, который, в свою очередь, взаимодействует с бизнес-уровнем. Бизнес-уровень имеет доступ к базе данных. В настоящее время мы внедрили бизнес-уровень для хранения операций CRUD для таблиц. У нас есть пара сомнений относительно организации методов на уровне обслуживания и на уровне бизнеса.

  • Во-первых, как сгруппировать методы на уровне сервиса? Должны ли мы группировать методы на основе страниц, где во всех данных потребности страниц предоставляются методом службы. Или мы должны получить данные страницы с помощью нескольких вызовов службы?

  • Другая проблема связана с организацией методов на бизнес-уровне. Кажется, что для любого метода на сервисном уровне мы должны реализовать соответствующий метод на бизнес-уровне. Если мы пойдем по этой логике, методы на сервисном уровне будут действовать как фиктивные, и будут заботиться только об авторизации и валидации. Например: при извлечении данных, которые поступают из объединения двух таблиц, мы должны выбрать две таблицы на уровне службы и затем выполнить объединение на уровне службы или у нас должна быть функция на бизнес-уровне, которая делает то же самое. Существенное сокращение передачи данных между уровнем обслуживания и уровнем бизнеса.

Ответы [ 2 ]

1 голос
/ 16 ноября 2011

Пожалуйста, ознакомьтесь с шаблоном DTO .С помощью шаблона DTO вы минимизируете количество обращений к бэкэнд-сервису.И данный DTO может отображаться в нескольких BO.Вам необходимо спроектировать DTO, основываясь на ваших требованиях к данным для заполнения пользовательского интерфейса.

0 голосов
/ 30 ноября 2011

Ну, похоже, я хотел следовать архитектуре REST. Что означает, что я должен держать униформу интерфейсов между уровнем обслуживания и уровнем представления. Сервисный уровень заботится об авторизации и просто делегирует все вызовы бизнес-уровню. На бизнес-уровне мы сохраняем DTO, которые сериализуются в XML, JSON или что-то еще, прежде чем отправлять их в SL. Что действительно помогло мне, так это просмотр статей REST и их подробное изучение.

...