Что такое доменная логика? - PullRequest
39 голосов
/ 11 декабря 2008

Что такое доменная логика? Страница Wikipedia для логики домена перенаправляет на бизнес-логику. Они одно и то же, и если нет, то чем они отличаются?

Ответы [ 9 ]

35 голосов
/ 12 декабря 2008

Домен - это мир, в котором живет ваше приложение. Поэтому, если вы работаете над, скажем, системой бронирования авиабилетов, доменом приложения будут бронирования авиабилетов.

Business Logic, с другой стороны, является более дискретным блоком всего домена приложения. Бизнес-логика - это обычно кусок кода, созданный для выполнения одного конкретного бизнес-процесса. Таким образом, вы должны иметь бизнес-логику, чтобы сделать оговорку. Другая часть бизнес-логики - код для возврата аннулированных билетов.

Объекты, которые поддерживают ваш бизнес-процесс, затем становятся вашими бизнес-объектами!

33 голосов
/ 12 декабря 2008

Домен - это то, что вы моделируете.

Если вы моделируете бизнес-проблему, это одно и то же.

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

9 голосов
/ 28 октября 2010

Бизнес-логика является телеологической (связанной с тем, как достичь цели), в то время как логика предметной области является онтологической (то, что существует, или объектной моделью, которая используется для аргументации)

3 голосов
/ 11 июля 2016

Давайте рассмотрим сценарий.

У вас есть клиент для ограничения XYZ, и он хочет, чтобы вы подключили его систему к сети.
Где пользователь может разместить заказ онлайн, отследить их, произвести оплату и т. Д.

С точки зрения клиента эта система будет называться Бизнес-идея в то время как «оформить заказ онлайн» считается одним из бизнес-процессов и если пользователь размещает заказ онлайн, клиент хочет, чтобы каждая деталь пользователя, отображалась на экране и т. д., называлась Бизнес-логика .

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

Теперь вы сначала определите все бизнес-процессы. И определить сущности или объект для размещения бизнес-процессов. Те объекты, которые называются Business Obect или Доменный объект , и метод или логика, реализующие бизнес-процесс, такие как placeOrder, которые называются Domain Logic .

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

3 голосов
/ 12 декабря 2008

Доменная логика применяется к проблемной области, например, «обработка заказа». Логика домена - это сущности, с которыми вы работаете (объектная модель), и их отношения.

Бизнес-логика содержит правила, специфичные для вашего контекста, например, «заказы от клиентов группы X обрабатываются с использованием скидки Y при превышении суммы Z». Бизнес-логика - это кодирование фактов о вашем бизнесе (или бизнесе клиента, который использует программу).

3 голосов
/ 12 декабря 2008

Бизнес-логика, специфичная для одной конкретной области / области знаний.

1 голос
/ 29 апреля 2009

Я бы сказал, что бизнес-логика связана с:

Любая логика или связь между сущностями в Домене.

Так, как ученик относится к классу или ученику? Как создается новый класс и как вы регистрируете ученика для этого класса

Все, что связано с бизнес-правилами, определением результатов, услуг, событий, процессов, вычислений, преобразований и связанных с ними манипуляций / создания данных.

Мне было трудно найти хорошие книги / учителей, которые помогли бы структурировать предметную логику. Это легко структурировать домен. Но логика предметной области кажется мне местом, куда никто не хочет идти.

0 голосов
/ 06 ноября 2010
  • Бизнес-логика связана с координацией действительных взаимодействий между представлением и моделью (пользовательским интерфейсом и данными).
  • Domain Logic - это сохранение внутренне согласованного представления модели на обеих сторонах приложения (клиент и сервер).
0 голосов
/ 12 декабря 2008

Мой домен фармацевтический. Он имеет дело с компартментами, дозами, дифференциальными уравнениями и статистикой. Если вы хотите назвать это моим «бизнесом», то, я думаю, это «бизнес-логика».

...