На компьютере программное обеспечение, бизнес-логика или доменная логика - это часть программы, которая кодирует реальные бизнес-правила, которые определяют, как данные могут быть созданы, сохранены и изменены. Это контрастирует с остальной частью программного обеспечения, которая может быть связана с деталями более низкого уровня управления базой данных или отображением пользовательского интерфейса, системной инфраструктуры или в целом соединения различных частей программа.
Бизнес-логика:
Бизнес-правила:
Бизнес-логика включает:
Бизнес-логику следует отличать от бизнес-правил. Бизнес-логика - это часть корпоративной системы, которая определяет, как данные преобразуются или рассчитываются и как они направляются людям или программному обеспечению (рабочий процесс). Бизнес-правила - это формальные выражения бизнес-политики. Все, что является процессом или процедурой, является бизнес-логикой, а все, что не является ни процессом, ни процедурой, является бизнес-правилом. Приветствие нового посетителя - это процесс (рабочий процесс), состоящий из шагов, которые необходимо предпринять, а утверждение, что каждого нового посетителя нужно приветствовать, - это бизнес-правило. Кроме того, бизнес-логика носит процедурный характер, тогда как бизнес-правила декларативны.
Например, веб-сайт электронной коммерции может позволить посетителям добавлять товары в корзину, указывать адрес доставки и поставлять Платежная информация. Бизнес-логика веб-сайта может включать такой рабочий процесс, как:
Также будут действовать бизнес-правила веб-сайта:
Программное обеспечение веб-сайта также содержит другой код, который не рассматривается часть бизнес-логики или бизнес-правил:
Бизнес-логика может быть где угодно в программе. Например, учитывая определенный формат адреса, можно создать таблицу базы данных, в которой будут столбцы, которые точно соответствуют полям, указанным в бизнес-логике, и добавлены проверки типов, чтобы убедиться, что не добавлены недопустимые данные.
Бизнес-логика часто меняется. Например, набор допустимых форматов адресов может измениться, когда интернет-магазин отправляет товары в новую страну. Таким образом, часто считается желательным сделать код, реализующий бизнес-логику, относительно изолированным или слабо связанным. Это повышает вероятность того, что для изменения бизнес-логики потребуется небольшой набор изменений кода, только в одной части кода. Отдаленный, но сильно связанный код также создает больший риск того, что программист внесет только некоторые необходимые изменения и пропустит часть системы, что приведет к некорректной работе.
A многоуровневая архитектура формализует это разделение, создавая уровень бизнес-логики, который отделен от других уровней или уровней, таких как уровень доступа к данным или уровень обслуживания. Каждый уровень «знает» только минимальную информацию о коде на других уровнях - ровно столько, чтобы выполнить необходимые задачи. Например, в парадигме модель – представление – контроллер уровни контроллера и представления можно было бы сделать как можно меньшими, при этом вся бизнес-логика сосредоточена в модели. В примере электронной коммерции контроллер определяет последовательность веб-страниц в последовательности оформления заказа, а также отвечает за проверку соответствия электронной почты, адреса и информации о платеже бизнес-правилам (вместо того, чтобы оставлять это на усмотрение самой базы данных. или код доступа к базе данных нижнего уровня).
Возможны альтернативные парадигмы. Например, с относительно простыми бизнес-объектами общее представление и контроллер могут получить доступ к объектам базы данных, которые сами содержат всю соответствующую бизнес-логику о том, какие форматы они принимают и какие изменения возможны (известная как модель базы данных ).
Некоторые многоуровневые схемы используют либо отдельный уровень приложения, либо уровень обслуживания, либо считают уровень бизнес-логики таким же, как один из них.
Бизнес-логика может быть извлечена из процедурного кода с помощью системы управления бизнес-правилами (BRMS).
Бизнес Подход с использованием правил разработки программного обеспечения использует BRMS и обеспечивает очень строгое отделение бизнес-логики от остального кода. Системы управления пользовательским интерфейсом - еще одна технология, используемая для обеспечения четкого разделения бизнес-логики и другого кода. Магическая кнопка считается "анти-шаблоном": метод, который в этом случае создает нежелательные ограничения, которые затрудняют кодирование бизнес-логики простым в обслуживании способом.
A модель предметной области - это абстрактное представление типов хранения данных, требуемых бизнес-правилами.
| journal =
() - Разработка Pau и Vervest подход для встраивания бизнес-логики в сеть связи, лежащую в основе распределенного приложения с множеством участников, для оптимизации распределения бизнес-ресурсов с точки зрения сети.