Size: a a a

Programming Offtop

2020 March 28

I

Igor in Programming Offtop
Кирилл Романенко
Норм ли делать репозиторий в фп?🤔 Чтобы комбинировать там эффекты походов в сеть и кэширования. Например, для оффлайн режима.
С такими приколами тебе в "андроид архитектурный")

https://i.gyazo.com/656de0335310aac6041cfe5bd234adb0.png
источник

I

Igor in Programming Offtop
Andrew Mikhaylov
А ты прошёл-то? :) А то я не в теме, кого тут вообще в чате уважать
источник

AM

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

КР

Кирилл Романенко in Programming Offtop
Igor
С такими приколами тебе в "андроид архитектурный")

https://i.gyazo.com/656de0335310aac6041cfe5bd234adb0.png
Ну бля.( А серьезно? Просто от диай всё равно никуда не деться. Нетворк я сделал синглтоном, но вот например для работы с префами нужен контекст. А значит надо создавать инстанс, где-то хранить и как-то передавать. Я попробовал передавать как параметр функции - хуйня ебаная, по-другому и не сказать. Вижу норм вариант вернуться к репозиториям, которые спрячут в себе эффекты и зависимости.
источник

КР

Кирилл Романенко in Programming Offtop
И вот эти приколы про dr здесь не сработают - чистых функций мало, всё в основном эффекты, т.к. приложение по сути просто круд.
источник

КР

Кирилл Романенко in Programming Offtop
Вся чистота и так живёт внутри TEA
источник

КР

Кирилл Романенко in Programming Offtop
+ ещё несколько чистых мап функций
источник

КР

Кирилл Романенко in Programming Offtop
Кирилл Романенко
И вот эти приколы про dr здесь не сработают - чистых функций мало, всё в основном эффекты, т.к. приложение по сути просто круд.
Круд с кэшированием, которое тоже эффект.
источник

I

Igor in Programming Offtop
Кирилл Романенко
И вот эти приколы про dr здесь не сработают - чистых функций мало, всё в основном эффекты, т.к. приложение по сути просто круд.
Так офигенно же.

Следи за руками
- делаешь синглотон data класс Store (1), в котором будет весь стейт
- вешаешь на shared-prefs "тупой" листенер, который при каждом изменение вычитает все префсы в (1)
- делашь функию
fun <T> udpate(f : (Store) -> Pair<Store, T>): T

внутри который обратно сохранешь в прейсы
- во всем остальном коде измени/чтение префсов делаешь через update

Все: вместо 20 грязных функций, у тебя получается одна универсальная

Следующем шагом, начинаешь мапить еще и бд
Да и любые co-effect
источник

КР

Кирилл Романенко in Programming Offtop
Igor
Так офигенно же.

Следи за руками
- делаешь синглотон data класс Store (1), в котором будет весь стейт
- вешаешь на shared-prefs "тупой" листенер, который при каждом изменение вычитает все префсы в (1)
- делашь функию
fun <T> udpate(f : (Store) -> Pair<Store, T>): T

внутри который обратно сохранешь в прейсы
- во всем остальном коде измени/чтение префсов делаешь через update

Все: вместо 20 грязных функций, у тебя получается одна универсальная

Следующем шагом, начинаешь мапить еще и бд
Да и любые co-effect
Выглядит офигенно, но без примера догнать сложно
источник

D

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

КР

Кирилл Романенко in Programming Offtop
Igor
Так офигенно же.

Следи за руками
- делаешь синглотон data класс Store (1), в котором будет весь стейт
- вешаешь на shared-prefs "тупой" листенер, который при каждом изменение вычитает все префсы в (1)
- делашь функию
fun <T> udpate(f : (Store) -> Pair<Store, T>): T

внутри который обратно сохранешь в прейсы
- во всем остальном коде измени/чтение префсов делаешь через update

Все: вместо 20 грязных функций, у тебя получается одна универсальная

Следующем шагом, начинаешь мапить еще и бд
Да и любые co-effect
Сможешь скинуть семпл?
источник

D

Denys in Programming Offtop
TLDR: избить зомби предметами нельзя. :(
источник

AN

Alexander Nozik in Programming Offtop
Andrew Mikhaylov
А ты прошёл-то? :) А то я не в теме, кого тут вообще в чате уважать
Егора
источник

(

( in Programming Offtop
Кирилл Романенко
Ну бля.( А серьезно? Просто от диай всё равно никуда не деться. Нетворк я сделал синглтоном, но вот например для работы с префами нужен контекст. А значит надо создавать инстанс, где-то хранить и как-то передавать. Я попробовал передавать как параметр функции - хуйня ебаная, по-другому и не сказать. Вижу норм вариант вернуться к репозиториям, которые спрячут в себе эффекты и зависимости.
Ридер монадка
источник

(

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

I

Igor in Programming Offtop
Кирилл Романенко
Сможешь скинуть семпл?
источник

КР

Кирилл Романенко in Programming Offtop
Блин, а на котлине?😅
источник

I

Igor in Programming Offtop
Кирилл Романенко
Блин, а на котлине?😅
А ты не код смотри, а текст читай
источник

КР

Кирилл Романенко in Programming Offtop
Igor
А ты не код смотри, а текст читай
Окей, спасибо.))
источник