Отделение бизнес-логики, зависящей от веб-ссылок, от уровня представления - PullRequest
1 голос
/ 13 июня 2011

У меня есть веб-приложение с уровнем представления и бизнес-уровнем в качестве отдельных проектов.Одно из них - веб-приложение, а другое - библиотека классов.Я добавил веб-ссылку на веб-приложение, чтобы использовать веб-сервис.У меня нет проблем с использованием сервисного API, но я обнаружил, что добавляю много логики типов бизнес-уровня в свой уровень представления, чтобы использовать этот API.Я был бы рад, если бы я мог просто изменить часть своего кода бизнес-уровня для работы с веб-сервисом, но конфигурация таких звуков, как большой круг, нет, нет.В любом случае, я бы хотел, чтобы мои объекты могли продолжать делать то, что они делают, но также работать с веб-сервисом, но я чувствую, что мне нужно создать класс помощника / менеджера в моем уровне представления для работы с сетью.-оказание услуг.Это заставляет меня требовать изменения кода везде, где я выполнял действия над объектами, которые я хотел добавить с помощью сервиса.Как правильно решить эту проблему?

Я даже не уверен, что где-то в этом бессмысленном вопросе есть законный вопрос, но если бы кто-нибудь мог предложить какие-нибудь полезные слова, я был бы очень признателен.Спасибо!!

Ответы [ 3 ]

1 голос
/ 13 июня 2011

Способ, которым я подошел, состоит в том, чтобы создать что-то подобное:

  • Уровень доступа к данным
  • Уровень бизнес-логики
  • Уровень службы(Без какой-либо бизнес-логики, только интерфейс)


  • Уровень доступа к сервису (Без какой-либо бизнес-логики или логики представления)

  • Уровень представления(MVC, Presentation Logic и т. Д.)

Ваш уровень обслуживания, лишенный бизнес-логики, теперь можно изменить, не затрагивая бизнес-логику.Уровень доступа к сервису на стороне клиента также защищает вас от изменений в интерфейсе сервиса.

0 голосов
/ 13 июня 2011

Возможно, ваш сервис должен инкапсулировать и бизнес-логику?Таким образом, ваш уровень представления будет иметь доступ только к службе, а служба будет обращаться к уровню бизнес-логики.

0 голосов
/ 13 июня 2011

Если ваш сервисный уровень предоставляет только сервис-подобные методы (например, простые методы CRUD, такие как SaveInvoice (InvoiceDTO)), то в большинстве случаев все будет в порядке.Тем не менее, мы могли бы использовать некоторый код с вашей стороны.

Существует действительно много способов построения сервисных уровней, statefull, not-statefull и т. Д. И т. Д., Поэтому попробуйте объяснить, какое повторение вы получаете в своей презентации

...