Задать вопрос
@historydev
Редактирую файлы с непонятными расширениями

Что такое бизнес логика и как их разделять с логикой приложения?

Для примера можно взять калькулятор, какие детали в нём это бизнес логика, а какие логика приложения?

Бизнес-логика — в разработке информационных систем — совокупность правил, принципов, зависимостей поведения объектов предметной области (области человеческой деятельности, которую система поддерживает). Иначе можно сказать, что бизнес-логика — это реализация правил и ограничений автоматизируемых операций. Является синонимом термина «логика предметной области» (англ. domain logic). Бизнес-логика задает правила, которым подчиняются данные предметной области.


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

Хотелось бы разные примеры, желательно попроще т.к. сильно путаюсь
  • Вопрос задан
  • 3302 просмотра
Подписаться 3 Простой 5 комментариев
Решения вопроса 3
Adamos
@Adamos
Владимир, вы бы еще архитектуру хелловорлда взялись "понимать".
Если хотите понять в двух словах, то можно применить такой принцип: бизнес-логика - это то, ЧТО должно выполнять приложение. А логика приложения - то, КАК оно это выполняет. Гругря, "по заказу формируются документы в формате XLSX и PDF" - это бизнес-логика. А вот запрос к БД за данными заказа, разбор шаблона документа, использование библиотек для генерации файлов нужного формата - это логика приложения. Отталкиваясь от такого примитивного понимания, можно разглядеть уровни в коде: где программист размахивает человекопонятными блоками и выполняет техзадание, а где - копается в байтах, соединениях и потоках вывода. Если мы одно от другого отделяем, то оказывается, что низкий уровень для большинства задач один и тот же и его можно опять-таки собрать в библиотеки и практически без изменений использовать там, где понадобилась другая бизнес-логика, но использован тот же технологический стек.
Ответ написан
xez
@xez
TL Junior Roo
Бизнес-логика - это то ради чего создается приложение.
На примере калькулятора, это все, что связано с расчетами: сложение, вычитание, деление и т.д.
Бизнес логику всегда можно описать в формате "юзер-стори".

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

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

Логика приложения - всё что связано с взаимодействием с пользователем. Кнопки, формы, итд.

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

Нет. Кнопки - это логика пользовательского интерфейса. Бизнес-логика - то, что за этими кнопками на самом деле стоит.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы