169 похожих чатов

А вот настройки приложения это бизнес логика? Например стили/темы/цвета? Ведь

слой презентации не обязательно может быть гуй, а мб какой нить генератор пдф/Ворд/эксель документов?

13 ответов

35 просмотров

С бизнес-логикой на самом деле возникло много путаницы. Если брать DDD, то там больше принято разделять бизнес-логику и логику приложения. Бизнес-логика вообще никак не связана с приложением вообще – это могут быть законы, которые надо учесть в приложении, бизнес-решения. Пример обычно приводят такой – даже если все ваши рабочие процессы выполнять по старинке, без компьютера, то БД никак не поменяется. Логика приложения – это специфичная логика конкретно для вашего приложения. Например, когда сохранить данные в репозиторий (но без реализации самого репозитория), какие данные запросить по API (опять же, без реализации самого клиента). Но в последнее время под БЛ чаще всего подразумевают всю логику, которая не относится к UI и инфрастуктуре. Я обычно советую разделять так (упрощенно): представьте, что вы меняете GUI на CLI. Если логика поменялась – это логика UI, она не должна быть в слое БЛ. Если осталась та же, скорее всего, это БЛ.

Adel'-Gilyazeev Автор вопроса
Kirill Bubochkin
С бизнес-логикой на самом деле возникло много пута...

Куда лайков завести?) Помню где-то видел разделение на четыре части: По зависимости от конкретного приложения (тех реализации) И ещё там был какой-то параметр и у каждой части было своё название и свой слой

Adel' Gilyazeev
Куда лайков завести?) Помню где-то видел разделе...

Ну вот по слоям обычно и выделяют: слой БЛ (Business Logic Layer), слой приложения (Application Layer), слой презентации (Presentation Layer) и инфраструктурный слой (Infrastructure Layer).

Adel' Gilyazeev
Куда лайков завести?) Помню где-то видел разделе...

Это типичный DDD. Адски кошмарная штука. Избегай ее пока можешь.

Adel'-Gilyazeev Автор вопроса
Kirill Bubochkin
С бизнес-логикой на самом деле возникло много пута...

Я б к таким хорошим ответами, хештеги бы добавлял для быстрого поиска)

Adel' Gilyazeev
Я б к таким хорошим ответами, хештеги бы добавлял ...

да я думаю поиском можно будет найти, если что. Хэштегами кто-нибудь вообще пользуется? )

Adel'-Gilyazeev Автор вопроса
Adel'-Gilyazeev Автор вопроса
Kirill Bubochkin
да я думаю поиском можно будет найти, если что. Хэ...

А что ты думаешь на счёт кешированния виджетов?

Adel' Gilyazeev
А что ты думаешь на счёт кешированния виджетов?

делать const – хорошо, хотя бы даже на смысловом уровне – показывает, что этот виджет от текущего контекста не зависит. Плюс оптимизация. Если же именно сохранять инстансы виджетов, то это чаще всего преждевременная и не особо нужная оптимизация. Есть хорошая статья про GC, там прямо написано: It’s not uncommon to see new Flutter developers create references to widgets they know will not change over time, and place them in state so that they won’t be destroyed and rebuilt. Don’t do this. https://medium.com/flutter/flutter-dont-fear-the-garbage-collector-d69b3ff1ca30

Adel'-Gilyazeev Автор вопроса
Kirill Bubochkin
делать const – хорошо, хотя бы даже на смысловом у...

Таки тут же переживания не за GC, а за то что новый инстанс не равен старому, а значит виджет надо пересобрать.. а так как его ребёнок тоже обновился новым инстансом и то и его пересобирать и ТД и тп

Adel' Gilyazeev
Таки тут же переживания не за GC, а за то что новы...

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

Adel'-Gilyazeev Автор вопроса
Kirill Bubochkin
Во-первых, ребилд != ре-рендер. Во-вторых, ребилди...

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

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

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта