Как научиться разрабатывать архитектуру приложения в области бизнес-логики?

Иногда попадаются проекты, где мозг буквально взрывается от количества бизнес-логики, а возможное количество вариантов разбиения бизнес-логики на объекты и их вложенность взрывается факториальной сложностью.
Что делать, чтобы как-то лучше научиться дизайнить как бизнес сущности лягут на базу/код? Как находить best-practises, чтобы быть более-менее уверенным, что так будет лучше?
  • Вопрос задан
  • 187 просмотров
Пригласить эксперта
Ответы на вопрос 3
dmitriylanets
@dmitriylanets
веб-разработчик
1. Хорошо спроектировать, и держать систему на виду помогает Event Storming + miro
2. На выходе мы имеем команды, события, сущности(агрегаты), информация, контекст
3. В зависимости от приложения элементы с 2 шага преобразуются в код
Ответ написан
sarapinit
@sarapinit
Точу водой камень
Читать GoF
Читать Эванса
Читать Фаулера
Читать много статей на тему с противоречащими друг другу мнениями.

Попробовать не только ООП, но и ФП

Много раз пробовать. Много думать.
Ответ написан
Комментировать
Maksclub
@Maksclub
maksfedorov.ru
Когда очень много логики и ее вариантов, то появляются разные DSL, которые сами внутри эту логику собирают...
При проектировании DSL просто проектируется возможность как чего делать

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

Ну например есть некоторые правила дял построения акций:
  • Если есть один товар такого-то критерия
  • Если все товары такого-то критерия
  • Если хотя бы один товар такого-то критерия
  • Если ни один товар такого криетрия
  • ...

Можно на каждый случай запрограть, особенно критерии то разные

А можно придумать некоторый функционал, который бы принимал некоторые правила для разных компаний, которые бы конфигом настраивались, а критерий описывался бы еще одним рпавилом, и тогда любой маркетолог мог бы собирать разные акции
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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