Отделение бизнес -логики в зависимости от веб -ссылок от уровня презентации

StackOverflow https://stackoverflow.com/questions/6334712

Вопрос

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

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

Спасибо!!

Это было полезно?

Решение

То, как я подошел к этому, - это создать что -то для этого:

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


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

  • Презентационный уровень (MVC, логика презентации и т. Д.)

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

Другие советы

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

Есть действительно много способов строительства уровней обслуживания, Statefull, не Statefull и т. Д.

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top