Size: a a a

Software Design/Architecture/Zen

2021 November 23

SP

Sergey Protko in Software Design/Architecture/Zen
модель экспоузит ивенты/экшены/эффекты. В случае эффектора еще есть gates для некоторых кейсов или можно кастомные хуки оформить. компоненты их дергают.
источник

E

Emanresun in Software Design/Architecture/Zen
о
источник

SP

Sergey Protko in Software Design/Architecture/Zen
жизненный цикл UI у тебя драйвит все, есть еще аспекты которые не привязаны к жизненному циклу UI - но это при старте приложения дергается (можно вообще в вэб воркер вынести)
источник

E

Emanresun in Software Design/Architecture/Zen
фичи между собой глобальным басом?
источник

E

Emanresun in Software Design/Architecture/Zen
т.е. это такие вертикальные слои получаются побитые на фичи, бизнес в грубо говоря "модели", в котором как-то реализован стор и экспоз ивентов/экшенов/эффектов
источник

SP

Sergey Protko in Software Design/Architecture/Zen
в случае эффектора можно делать клей снаружи. Например у тебя есть фича которая кидает ивент videoCallStarted. и есть другая фича с таким же ивенотм который надо дернуть. Снаружи мы можем в каком init.ts прописать


forward(videoCallStarted.map({videoCallId}) => videoCallid, onVideoCallStarted)
источник

SP

Sergey Protko in Software Design/Architecture/Zen
"фичи" это и есть это "вертикальное разделение".
источник

E

Emanresun in Software Design/Architecture/Zen
еп
источник

SP

Sergey Protko in Software Design/Architecture/Zen
но у тебя всеравно есть некий "хост" в которм все это варится, инфраструктура которая все склеивает
источник

SP

Sergey Protko in Software Design/Architecture/Zen
inversion of control
источник

E

Emanresun in Software Design/Architecture/Zen
еп
источник

SP

Sergey Protko in Software Design/Architecture/Zen
don't call us, we call you вся херня
источник

E

Emanresun in Software Design/Architecture/Zen
а мы в модель что нибудь прокидываем di ное?
источник

E

Emanresun in Software Design/Architecture/Zen
как модель колит апишки
источник

E

Emanresun in Software Design/Architecture/Zen
мы ей запихнем апи сервис? откуда?
источник

E

Emanresun in Software Design/Architecture/Zen
или репозиторий?
источник

SP

Sergey Protko in Software Design/Architecture/Zen
опять же как хочешь.

в эффекторе например у тебя модель может определять эффект


const loadSomeData = myFeatureDomain.createEffect({
  handler: (id: string) => Promise.reject(new Error("Not Implemented"))
})



и где-то выше на уровне инфраструктуры ты можешь связать реализацию



loadSomeData.setHandler(realLoadSomeData)
источник

SP

Sergey Protko in Software Design/Architecture/Zen
вдруг ты вообще graphql юзаешь
источник

E

Emanresun in Software Design/Architecture/Zen
ты сабмитишь в эффектор да?)
источник

SP

Sergey Protko in Software Design/Architecture/Zen
неа, просто мне он оч нравится
источник