В компьютерном программном обеспечении бизнес-логика или доменная логика — это часть программы, которая кодирует реальные бизнес-правила , определяющие, как данные могут быть созданы, сохранены и изменены . Она контрастирует с остальной частью программного обеспечения, которая может быть связана с деталями более низкого уровня управления базой данных или отображения пользовательского интерфейса , системной инфраструктуры или в целом соединения различных частей программы.
Бизнес-логика:
Правила ведения бизнеса:
Бизнес-логика включает в себя: [1]
Бизнес-логику следует отличать от бизнес-правил. [2] Бизнес-логика — это часть корпоративной системы, которая определяет, как данные преобразуются или вычисляются, и как они направляются людям или программному обеспечению (рабочий процесс). Бизнес-правила — это формальные выражения бизнес-политики. Все, что является процессом или процедурой, является бизнес-логикой, а все, что не является ни процессом, ни процедурой, является бизнес-правилом. Приветствие нового посетителя — это процесс (рабочий процесс), состоящий из шагов, которые необходимо выполнить, тогда как утверждение, что каждый новый посетитель должен быть приветствован, является бизнес-правилом. Кроме того, бизнес-логика является процедурной, тогда как бизнес-правила — декларативными. [3]
Например, веб-сайт электронной коммерции может позволить посетителям добавлять товары в корзину, указывать адрес доставки и предоставлять платежную информацию. Бизнес-логика веб-сайта может включать рабочий процесс, такой как:
Также будут действовать бизнес-правила сайта:
Программное обеспечение веб-сайта также содержит другой код, который не считается частью бизнес-логики или бизнес-правил:
Этот раздел нуждается в дополнительных цитатах для проверки . ( Январь 2018 ) |
Бизнес-логика может находиться в любом месте программы. Например, если задан определенный формат адреса, можно создать таблицу базы данных, которая имеет столбцы, точно соответствующие полям, указанным в бизнес-логике, и добавить проверки типов, чтобы убедиться, что не добавляются недействительные данные.
Бизнес-логика часто меняется. Например, набор допустимых форматов адресов может измениться, когда интернет-магазин начинает отправлять продукты в новую страну. Таким образом, часто считается желательным сделать код, реализующий бизнес-логику, относительно изолированным или слабосвязанным . Это повышает вероятность того, что изменения в бизнес-логике потребуют небольшого набора изменений кода, только в одной части кода. Отдаленный, но сильно связанный код также создает больший риск того, что программист внесет только некоторые необходимые изменения и пропустит часть системы, что приведет к неправильной работе. [4]
Многоуровневая архитектура формализует это разделение, создавая уровень бизнес-логики , который отделен от других уровней или слоев, таких как уровень доступа к данным или уровень обслуживания . Каждый уровень «знает» только минимальное количество о коде в других уровнях — ровно столько, сколько необходимо для выполнения необходимых задач. Например, в парадигме модель–представление–контроллер уровни контроллера и представления могут быть сделаны максимально малыми, а вся бизнес-логика будет сосредоточена в модели. В примере с электронной коммерцией контроллер определяет последовательность веб-страниц в последовательности оформления заказа, а также отвечает за проверку того, что электронная почта, адрес и платежная информация соответствуют бизнес-правилам (вместо того, чтобы оставлять все это на усмотрение самой базы данных или кода доступа к базе данных более низкого уровня).
Возможны альтернативные парадигмы. Например, при относительно простых бизнес-сущностях общее представление и контроллер могут получить доступ к объектам базы данных, которые сами содержат всю соответствующую бизнес-логику о том, какие форматы они принимают и какие изменения возможны (известную как модель базы данных ).
Некоторые многоуровневые схемы используют либо отдельный прикладной уровень , либо уровень сервисов , либо считают уровень бизнес-логики тем же, что и один из них.
Бизнес-логику можно извлечь из процедурного кода с помощью системы управления бизнес-правилами (BRMS). [5]
Подход бизнес -правил к разработке программного обеспечения использует BRMS и обеспечивает очень сильное разделение бизнес-логики от остального кода. Системы управления пользовательским интерфейсом — еще одна технология, используемая для обеспечения сильного разделения бизнес-логики от остального кода. Волшебная кнопка считается «анти-шаблоном»: метод, который в данном случае создает нежелательные ограничения, которые затрудняют кодирование бизнес-логики простым в обслуживании способом.
Модель предметной области — это абстрактное представление типов хранения данных, требуемых бизнес-правилами.
{{cite journal}}
: Cite journal required |journal=
( помощь ) — Пау и Вервест разрабатывают подход для встраивания бизнес-логики в коммуникационную сеть, лежащую в основе распределенного приложения с множеством участников , с целью оптимизации распределения бизнес-ресурсов с точки зрения сети.