Size: a a a

Programming Offtop

2020 March 13

(

( in Programming Offtop
источник

AM

Andrew Mikhaylov in Programming Offtop
(
Это сарказм?
Да
источник

(

( in Programming Offtop
Обидно
источник

AM

Andrew Mikhaylov in Programming Offtop
источник

(

( in Programming Offtop
Arkadii Ivanov
В самом MVI вообще только Model,View и Intent. И их круговорт. Сайд эффекты каждый делает по своему. Это всё заимствовано из Redux. Обычно есть некий Store, в который на вход идут интенты а на выход состояния. Это всё чисто. Сайд-эффекты можно делать через Middleware, а можно просто выдавать события из Store и обрабатывать чем угодно (отдельными хендлерами), и опять отправлять интенты на вход. Если говорить про MVICore, то можно редуктор из TEA разбить на три части - Actor, Reducer и NewsPublisher. И все они будут чистыми но у каждого будет своя микро ответственность. А в чае всё в кучу навалено.
Забавно, что на редукс сильно повлиял как раз чай
источник

AI

Arkadii Ivanov in Programming Offtop
(
Забавно, что на редукс сильно повлиял как раз чай
Эволюция
источник

AI

Arkadii Ivanov in Programming Offtop
Люди пытаются найти лучшую архитектуру/шаблон :-)
источник

(

( in Programming Offtop
Алсо, не "там навалено все в кучу", а декомпозиция производится путем дрочения дырок. Условно, из

typealias Cycle<Event, Mutation, State, Effect> = (Event -> F<Mutation>) -> ((State, Mutation) -> (State, Set<Effect>)) -> (Effect -> F<Event>)

Можно задерайвить очень много вещей, буквально всё, что может редуск/мвиай/бля что там ещё есть
источник

СГ

Сергей Греков in Programming Offtop
Arkadii Ivanov
В самом MVI вообще только Model,View и Intent. И их круговорт. Сайд эффекты каждый делает по своему. Это всё заимствовано из Redux. Обычно есть некий Store, в который на вход идут интенты а на выход состояния. Это всё чисто. Сайд-эффекты можно делать через Middleware, а можно просто выдавать события из Store и обрабатывать чем угодно (отдельными хендлерами), и опять отправлять интенты на вход. Если говорить про MVICore, то можно редуктор из TEA разбить на три части - Actor, Reducer и NewsPublisher. И все они будут чистыми но у каждого будет своя микро ответственность. А в чае всё в кучу навалено.
В MviCore  акторы как раз выполняют сайд эффекты, в Tea  редьюсер этого не делает, он только говорит какой сайд эффект выполнить
источник

AI

Arkadii Ivanov in Programming Offtop
Сергей Греков
В MviCore  акторы как раз выполняют сайд эффекты, в Tea  редьюсер этого не делает, он только говорит какой сайд эффект выполнить
Можно не выполнять сайд-эффекты. Никто не заставляет.
источник

AI

Arkadii Ivanov in Programming Offtop
ПРосто нам нарвится их выполнять в Акторах
источник

СГ

Сергей Греков in Programming Offtop
И где их тогда выполнять?)
источник

(

( in Programming Offtop
А (A -> F<B>), он же эффект-хендлер, это клеисли-стрелка, и.е. их можно крутить, композировать и ебашить пьюр диай
источник

СГ

Сергей Греков in Programming Offtop
У Дорфмана они тоже в его аналоге акторов выполняются
источник

AI

Arkadii Ivanov in Programming Offtop
Сергей Греков
И где их тогда выполнять?)
Ну типа выдаёшь News и обрабатываешь его в каком нибудь SideEffectProcessor - отдельном классе
источник

AI

Arkadii Ivanov in Programming Offtop
И потом обратно в фичу Wish
источник

AI

Arkadii Ivanov in Programming Offtop
typealias SideEffectProcessor = (News) -> Observable<Wish>
источник

AI

Arkadii Ivanov in Programming Offtop
Сергей Греков
У Дорфмана они тоже в его аналоге акторов выполняются
Но просто в этом нет проблемы. Но если очень хочется, то можно
источник

(

( in Programming Offtop
Arkadii Ivanov
Ну типа выдаёшь News и обрабатываешь его в каком нибудь SideEffectProcessor - отдельном классе
Выдаешь News откуда?
источник

СГ

Сергей Греков in Programming Offtop
А wish  попадает снова в актор, который уже на этот раз решит отправить сообщение в редьюсер? Издевательство какое то
источник