2010-04-13 3 views
49

В чем разница между уровнем прикладного уровня и бизнес-логики? Я понимаю, что бизнес-уровень предоставляет бизнес-услуги и бизнес-сервисы бизнес-приложений и предоставляет услуги конечному пользователю (веб-служба, пользовательский интерфейс и т. Д.). Я прав?В чем разница между уровнем прикладного уровня и бизнес-логики?

+0

Возможный дубликат [Бизнес и логика приложений?] (Http://stackoverflow.com/questions/1456425/business-and-application-logic) – nawfal

ответ

60

Звучит примерно правильно.

бизнес-слой реализует модель предметной областив гранично-технологии нейтральной способом. Другими словами, это не зависит от какой-либо специфической технологии интерфейса или интерфейса, например веб-библиотек или API-интерфейсов окон. Вы должны иметь возможность потреблять бизнес-уровень из любого типа приложений: веб-сайт, богатый клиент, веб-сервис и т. Д.

прикладной уровень соединяет промежуток между бизнес-уровнем и граничной технологией.

+6

Что означает «граничная технология» в этом контексте? – pseudocoder

+6

Любая технология, которая находится на границе приложения. Интерфейсы пользовательского интерфейса, библиотеки доступа к базам данных, шлюзы служб, инфраструктуру HTTP или SOAP, библиотеки файловой системы, библиотеки сообщений с особыми сообщениями и т. Д. –

+1

Если вы следуете DDD, есть также уровень представления, который может быть html, wpf, rest api и т. Д. прикладной уровень повторно используется различными уровнями представления. Разница между шиной/доменом и приложением заключается в том, что домен состоит только из объектов, которые известны бизнесу (или абстракции, которые работают для dev) и называются языком coomon, который совместно используется bus peopel и devs (вездесущий язык). Уровень приложения - это то, что делает его «программой» – buckley

2

Как я понимаю, бизнес-уровень отвечает за бизнес-решения AKA логикой, включающей протоколы клиента.

Уровень приложения - это необработанные процессы, которые не имеют ничего общего с бизнес-решениями.

18

Подводя итог:

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

  • Уровень бизнес-логики (BLL) содержит логику, специфичную для бизнес-домена. Кроме того, если вы собираетесь создать отдельный BLL, этот слой должен содержать логику, которая может использоваться другими приложениями, а также эта. Например, набор веб-сервисов, предоставляющих четко определенный API. Это отменит BLL от вашего приложения и позволяет гибко создавать другие приложения поверх него в будущем.

+0

Можете ли вы предоставить источник для этого? Ваша первая пуля звучит так, как я обычно слышу, как слой презентации. –

+0

К сожалению, нет. Я воспринял его комментарий, чтобы обозначить слои его кода, специфичного для приложения, в отличие от уровня BLL для конкретного бизнеса. Но вы правы, обычно «Application Layer» используется в контексте модели OSI. –

+1

Я полностью согласен с Джастином. Уровень приложения должен содержать только минимальную логику (IE: имеет ли поле пробел или сколько символов). Бизнес-логика должна работать и проверяться только на самих данных. Вот почему мне мешает видеть встроенный SQL на уровне приложения, где никто в бизнес-логике не может его повторно использовать! – Vippy

0

Я думаю об этом как о инфраструктуре. В зависимости от применения, она может содержать сантехнику для конфигурации, отчетности, оболочки пользовательского интерфейса и т.д.

1

в классическом наслоения в бизнес-уровне мы имеем:

-Бизнес Правила -Security -User активность Loging -Transaction Management ...

Функциональная Requierment + нефункциональные Requierment = Бизнес код

в DDD Функционального Requierment, как бизнес-правилах и бизнес-логике Остаться в Уровне домена и нефункциональных Requiement Как безопасности и пользовательской активности Loging пребывание в прикладном уровне

0

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

через раздел с комментариями здесь: http://www.bennadel.com/?site-photo=22

Смежные вопросы