Size: a a a

Programming Offtop

2020 August 14

AK

Anton Korotkikh in Programming Offtop
Денис
Правильно я понимаю что для кейса "получить список данных для отображения" без mvu можно реализовать как:
Триггер вью модели -> вызов usecase -> вызов репозитория -> обновить данные в вью модели

А при mvu
Триггерится сообщение -> создаётся эффект -> effect handler идёт в репозиторий -> отправляется сообщение с результатами
чот ты усложняешь:
получить данные -> отобразить
источник

(

( in Programming Offtop
Konstantin dmz9
в фп паттерны свои, точнее там просто функции
В ФП паттерны - это извинения перед компилятором
источник

СГ

Сергей Греков... in Programming Offtop
Денис
Effect handler использует usecase?
да там уже что хочешь используй, хоть okHttp  напрямую
источник

(

( in Programming Offtop
Ладно, бессмысленное высказывание
источник

DE

Denis Egorov in Programming Offtop
Денис
Правильно я понимаю что для кейса "получить список данных для отображения" без mvu можно реализовать как:
Триггер вью модели -> вызов usecase -> вызов репозитория -> обновить данные в вью модели

А при mvu
Триггерится сообщение -> создаётся эффект -> effect handler идёт в репозиторий -> отправляется сообщение с результатами
при mvu:
кидаешь эвент на получение списка -> получаешь update со списком
источник

СГ

Сергей Греков... in Programming Offtop
Denis Egorov
я не очень понимаю, зачем везде тащить понятия из клина. EffectHandler просто исполняет эффекты. useCase в данном случае просто функция
У меня вообще есть теория что UseCase это просто partial  функция с прокинутыми зависимостями)
источник

DE

Denis Egorov in Programming Offtop
Денис
Правильно я понимаю что для кейса "получить список данных для отображения" без mvu можно реализовать как:
Триггер вью модели -> вызов usecase -> вызов репозитория -> обновить данные в вью модели

А при mvu
Триггерится сообщение -> создаётся эффект -> effect handler идёт в репозиторий -> отправляется сообщение с результатами
еще раз.
Попробуй не сравнивать подходы, а абстрагироваться и взглянуть на задачу с новой стороны. Сам подход mvu выглядит очень логичным, поэтому ты быстро разберешься
источник

СГ

Сергей Греков... in Programming Offtop
Denis Egorov
при mvu:
кидаешь эвент на получение списка -> получаешь update со списком
а список откуда придет?
источник

DE

Denis Egorov in Programming Offtop
Сергей Греков
а список откуда придет?
EffectHandler обработает эффект, и ты получишь action со списком
источник

I

Igor in Programming Offtop
(
В ФП паттерны - это извинения перед компилятором
Да это везде так, просто в ООП шагу без извинений сделать не могут.
А в фп по максимуму абстрагируют и библиотеками делают.
источник

СГ

Сергей Греков... in Programming Offtop
Denis Egorov
EffectHandler обработает эффект, и ты получишь action со списком
ну да,  в твоей первой цепочке это отсутствовало, можешь человека запутать)
источник

DE

Denis Egorov in Programming Offtop
Сергей Греков
ну да,  в твоей первой цепочке это отсутствовало, можешь человека запутать)
да, не подумал, что запутаю.
Просто увидел, что он усложняет себе жизнь, поэтому думал показать, что все проще)
источник

Д

Денис in Programming Offtop
Denis Egorov
да, не подумал, что запутаю.
Просто увидел, что он усложняет себе жизнь, поэтому думал показать, что все проще)
Я все понял
источник

Д

Денис in Programming Offtop
А эффекты глобальные или для конкретного экрана свои? К примеру эффект загрузки данных я могу вызывать с любого экрана или для каждого надо отдельный такой эффект делать?
источник

DE

Denis Egorov in Programming Offtop
Денис
А эффекты глобальные или для конкретного экрана свои? К примеру эффект загрузки данных я могу вызывать с любого экрана или для каждого надо отдельный такой эффект делать?
можно представить эту архитектуру, как станок на заводе. Конечная машина состояний. Лучше для каждого такого станка делать свои эффекты, так как он может ничего не знать про весь остальной мир
источник

Д

Денис in Programming Offtop
Denis Egorov
можно представить эту архитектуру, как станок на заводе. Конечная машина состояний. Лучше для каждого такого станка делать свои эффекты, так как он может ничего не знать про весь остальной мир
Понял
источник

I

Igor in Programming Offtop
Денис
А эффекты глобальные или для конкретного экрана свои? К примеру эффект загрузки данных я могу вызывать с любого экрана или для каждого надо отдельный такой эффект делать?
Смотря что за эффекты и насколько они глуппые.
В том же Elm нет никаких "локальных" эффектов, только глобальные типа Http.get / Http.post и тд

Все их настройки делаются параметрами https://package.elm-lang.org/packages/elm/http/latest/Http
источник

Д

Денис in Programming Offtop
Igor
Смотря что за эффекты и насколько они глуппые.
В том же Elm нет никаких "локальных" эффектов, только глобальные типа Http.get / Http.post и тд

Все их настройки делаются параметрами https://package.elm-lang.org/packages/elm/http/latest/Http
Ну в плане если мне нужно на двух разных экранах добавить книгу в избранное это должны быть разные эффекты "добавь в избранное" или один?
источник

O

OlegKrikun in Programming Offtop
имха один
источник

I

Igor in Programming Offtop
Опять склеиваешь логику и эффект:
- эффект это "сохранить" (изменение мира)
- логика: "книга в избранное"

Для тупейших crud не знаю зачем делать разные эффекты
источник