Size: a a a

Software Design/Architecture/Zen

2020 October 18

a

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

АГ

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

NF

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

АГ

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

АГ

Алексей Гевондян... in Software Design/Architecture/Zen
ну фронт сам решает, можно сейчас апдейтиться, или нет)
источник

АГ

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

АГ

Алексей Гевондян... in Software Design/Architecture/Zen
обновление можно сделать плашкой. вылезает - вышла новая версия компонента. обновить? юзер нажимает да - происходит обновление. не нажимает - не происходит. доделывает то, что делал, плашка висит, не мешает работе)
источник

АГ

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

АГ

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

NF

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

АГ

Алексей Гевондян... 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
однако можно смотри как сделать: допустим контракт по взаимодействию модуля а с модулем б - нуждается в обновлении. в таком случае надо поменять оба модуля, сохранив их контракты по связям с остальными модулями.
источник

АГ

Алексей Гевондян... 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
короче я чую мы тут с тобой ща по жести упоролись)
источник