Size: a a a

Software Design/Architecture/Zen

2020 October 18

NF

Nikita Fedorov in Software Design/Architecture/Zen
Nikita Fedorov
вот в этом и прикол, что не с нуля
в кложуре все персистентно* по этому там это вообще изи сделать
источник

˸A

˸̧̨ ͅBlack Akula˸̧̨ ... in Software Design/Architecture/Zen
atcq (Алексей)
тогда, вероятно, я не понял идею, мысль же в замене любого модуля прямо на ходу
получается этим должен заниматься инструмент, который знает о всех модулях* в проекте?
источник

NF

Nikita Fedorov in Software Design/Architecture/Zen
в js... нормально делай нормально будет)))
источник

АГ

Алексей Гевондян... in Software Design/Architecture/Zen
atcq (Алексей)
тогда, вероятно, я не понял идею, мысль же в замене любого модуля прямо на ходу
получается этим должен заниматься инструмент, который знает о всех модулях* в проекте?
опять к контрактам и интерфейсам возвращаемся)
источник

a

atcq (Алексей)... in Software Design/Architecture/Zen
ну он ждет ближайшего клика по ссылке и делает хард релоад на нем (точнее грузит страницу с нуля)
источник

a

atcq (Алексей)... in Software Design/Architecture/Zen
это не замена модулей на лету, а ловкость рук
источник

NF

Nikita Fedorov in Software Design/Architecture/Zen
ну короче когда для ssr это сделают надо будет смотреть, а там уже и без ssr понятно будет как
источник

АГ

Алексей Гевондян... in Software Design/Architecture/Zen
что мешает запросить с бека некий js код и вставить его в нужное место?
источник

NF

Nikita Fedorov in Software Design/Architecture/Zen
Алексей Гевондян
что мешает запросить с бека некий js код и вставить его в нужное место?
то что нужно сохранять стейт)
источник

NF

Nikita Fedorov in Software Design/Architecture/Zen
создал ты такой объект, перезапросил код его создающий и нужно обновить, а как обновить это уже проблема
источник

АГ

Алексей Гевондян... in Software Design/Architecture/Zen
ну компонент может быть как стейтлесс так и стейтфулл, не суть, перед обновлением компонента ты берешь его стейт. сохраняешь себе. затем меняешь компонент на новый, загружаешь туда этот стейт. если надо его как-то мигрировать, загружаешь еще компонент для миграции, мигрируешь, загружаешь, и работаешь с обновленным компонентом.
источник

NF

Nikita Fedorov in Software Design/Architecture/Zen
Алексей Гевондян
ну компонент может быть как стейтлесс так и стейтфулл, не суть, перед обновлением компонента ты берешь его стейт. сохраняешь себе. затем меняешь компонент на новый, загружаешь туда этот стейт. если надо его как-то мигрировать, загружаешь еще компонент для миграции, мигрируешь, загружаешь, и работаешь с обновленным компонентом.
старый стейт может быть не валидным для нового компонента
источник

NF

Nikita Fedorov in Software Design/Architecture/Zen
и бах у тебя все сломалось
источник

АГ

Алексей Гевондян... in Software Design/Architecture/Zen
в компонент можно заложить функциональность по конвертации объекта состояния версии 1, в объект состояния версии 2 к примеру.
источник

АГ

Алексей Гевондян... in Software Design/Architecture/Zen
если при загрузке стейта он получил объект первой версии, он его конвертирует еще дополнительно, потом работает с ним.
источник

АГ

Алексей Гевондян... in Software Design/Architecture/Zen
это все можно заложить.
источник

NF

Nikita Fedorov in Software Design/Architecture/Zen
Алексей Гевондян
в компонент можно заложить функциональность по конвертации объекта состояния версии 1, в объект состояния версии 2 к примеру.
ну если так делать то и гит не нужен)))
источник

DT

Dmitriy Tkachenko in Software Design/Architecture/Zen
Решение то же, что и для отказа от версионирования событий
источник

АГ

Алексей Гевондян... in Software Design/Architecture/Zen
конечно не всегда возможна конвертация. тогда придется по-новой все переинициализировать как-нибудь..
источник

DT

Dmitriy Tkachenko in Software Design/Architecture/Zen
Просто нужно учитывать, что придётся загружать стейт старого формата
источник