Что такое бизнес логика android приложения?

Изучаю чистую архитектуру, не совсем понимаю что такое бизнес логика, какая логика должна быть в этом слое, что такое бизнес модели? Очень хочется услышать детальный ответ и с примером
  • Вопрос задан
  • 5315 просмотров
Пригласить эксперта
Ответы на вопрос 5
nki
@nki
bezkart.ru готовая система лояльности
Уберите слово бизнес и все становиться понятнее, а смысл не меняется.
Ответ написан
Комментировать
DexterHD
@DexterHD
Software Engineer, Teamlead, CTO
Бизнес-логика, это правила того или иного бизнеса. Бизнес-модель, это модель которая описывает бизнес-процессы организации/компании/сообщества и т.п.

Например это может быть логика расчета "премии" сотрудникам. Это может быть логика например вычисления пенни за просроченный платеж. Или например в компании существуют критерии и правила по которым устанавливается лучший сотрудник месяца. А может быть у вас есть компания которая занимается логистикой и есть определенные правила по которым в компании вычисляют маршрут доставки и виды транспорта которым груз будет доставляться. Описание этих критериев и правил в программном коде и есть бизнес-логика.

Как правило бизнес-логика не меняется от приложения к приложению и не зависит от платформ и фреймворков вообще. Она меняется когда меняется сам бизнес, структура организации, взаимодействия внутри компании бизнес которой вы автоматизируете с помощью приложения.
Ответ написан
@Mercury13
Программист на «си с крестами» и не только
Бизнес-логика — это то, что программа делает с точки зрения пользователя. По-другому (и более понятно) — логика предметной отрасли.

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

Крайне спорно, относить ли к бизнес-логике — анимация фигурок на манер Battle Chess и боты.

Логика, которая не бизнес — это работа с сетью, графикой, конфигурационными файлами, сохранениями досок и партий, античит и многое другое. В общем, то, что нужно для жизнеобеспечения программы, а не для предметной отрасли. Сохранять партии в PGN или XML, как перекидываться пакетами по сети и какие настройки держать для совместимости…
Ответ написан
Комментировать
@MaxLich
java developer
Это часть кода, которая выполняет то, ради чего пишется это приложение. Кроме бизнес-логики, в приложении может быть код, который отвечает за отображение информации, управление информацией, работу с внешними ресурсами/сервисами, какой-то вспомогательный код (например, удалить все символы 'x' в строке), и т.д.
Ответ написан
Комментировать
saboteur_kiev
@saboteur_kiev
software engineer
Предположим, вы хотите написать программу, которая будет считать коммунальные расходы.

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

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

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

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

Войти через центр авторизации
Похожие вопросы