Size: a a a

2020 October 27

m

mg901 in ☄️ effector
Dmitriy Shuleshov
Для защиты от циклических есть только два базовых метода
1. Иерархия скоупов.
2. Проксирование публичных юнитов каждого скоупа. (По сути инверсия зависимостей)
про 2е можно чуть подробнее?
источник

R

Rafael 🦠 in ☄️ effector
Dmitriy Shuleshov
Понял. Значит конвенцию для защиты от циклов ещё не выработал.
а нет, выработал для стейтов точно - потому что state файлы у меня содержать только createStore, другие сторы туда не импортятся

все связи проставляются в сценариях, но оттуда нет экспортов вообще никаких
источник

AO

Aleksandr Osipov in ☄️ effector
ну это подход с init файлами по сути
источник

R

Rafael 🦠 in ☄️ effector
да
источник

R

Rafael 🦠 in ☄️ effector
только дополнительно с фасадом
источник

DS

Dmitriy Shuleshov in ☄️ effector
Rafael 🦠
а нет, выработал для стейтов точно - потому что state файлы у меня содержать только createStore, другие сторы туда не импортятся

все связи проставляются в сценариях, но оттуда нет экспортов вообще никаких
Как только тебе понадобится связь между фичами и ты выработаешь защиту от циклов, то поймёшь что лишён части апи эффектора.

Всех методов, которые одновременно создают связь и юнит (eg attach combine)
источник

R

Rafael 🦠 in ☄️ effector
Dmitriy Shuleshov
Как только тебе понадобится связь между фичами и ты выработаешь защиту от циклов, то поймёшь что лишён части апи эффектора.

Всех методов, которые одновременно создают связь и юнит (eg attach combine)
а вот и нет
источник

R

Rafael 🦠 in ☄️ effector
у меня все это есть - но внутри сценариев
там я создаю через них приватные сторы и ивенты
источник

R

Rafael 🦠 in ☄️ effector
вместо const a = combine()

я просто делаю это в двух файлах:
в state: const a = createStore()
в сценарии: forward({ from: combine(), to: a })
источник

DS

Dmitriy Shuleshov in ☄️ effector
Rafael 🦠
вместо const a = combine()

я просто делаю это в двух файлах:
в state: const a = createStore()
в сценарии: forward({ from: combine(), to: a })
https://t.me/effector_ru/173568
Значит ты на шаг ближе ко второму варианту
источник

R

Rafael 🦠 in ☄️ effector
у меня по сути очень строгий контроль за направлением экспортов между слоями:
в слой api нельзя ничего затащить из слоя фич, только из апи в фичи
источник

R

Rafael 🦠 in ☄️ effector
но, к сожалению, пока что это не автоматизировано
источник

R

Rafael 🦠 in ☄️ effector
но это то, что не сложно делать и глазами при проверке mr
источник

DS

Dmitriy Shuleshov in ☄️ effector
Rafael 🦠
у меня по сути очень строгий контроль за направлением экспортов между слоями:
в слой api нельзя ничего затащить из слоя фич, только из апи в фичи
Конечный итог второго варианта - это отсутствие необходимости контроля иерархии
источник

DS

Dmitriy Shuleshov in ☄️ effector
Dmitriy Shuleshov
Конечный итог второго варианта - это отсутствие необходимости контроля иерархии
Как только Дима доделает тулзы, иерархия и ручная слежка за направлениями связей - будет не нужна
источник

R

Rafael 🦠 in ☄️ effector
Dmitriy Shuleshov
Как только Дима доделает тулзы, иерархия и ручная слежка за направлениями связей - будет не нужна
она по прежнему будет нужна
источник

R

Rafael 🦠 in ☄️ effector
потому что файловая структура (к которой привязана работа модулей) имееет иерархическую структуру
источник

R

Rafael 🦠 in ☄️ effector
не смотря на то, что эффектор позволяет писать приложение как графа
источник

R

Rafael 🦠 in ☄️ effector
поэтому визуализация, для меня, это поиск аномалий в заложенной структуре проекта
источник

DS

Dmitriy Shuleshov in ☄️ effector
Rafael 🦠
потому что файловая структура (к которой привязана работа модулей) имееет иерархическую структуру
Это следствие соблюдения конвенций, а не причина что бы их соблюдать
источник