Size: a a a

Software Design/Architecture/Zen

2021 November 22

E

Emanresun in Software Design/Architecture/Zen
а что  подразумевается плюс в чистых функциях валидаторов hookforms'a?
источник

SP

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

E

Emanresun in Software Design/Architecture/Zen
а, да, согласен
источник

SP

Sergey Protko in Software Design/Architecture/Zen
тактический DDD в случае фронта чисто и чисто конкретного UI - мало применим. Нельзя применять DDD в одном куске горизонтального среза системы
источник

SP

Sergey Protko in Software Design/Architecture/Zen
стратегический может помочь с аспектами декомпозиции системы с целью изоляции функционала, с другой стороны для этого достаточно разобраться что такое single responsibility principle и iformation hiding
источник

E

Emanresun in Software Design/Architecture/Zen
правильное ли это высказывание:
Business logic doesn't belong on the front-end because of single-source of truth constraints in centralized applications, the front-end is volatile and prone to change, and components should always point towards the direction of stability.
источник

SP

Sergey Protko in Software Design/Architecture/Zen
ну it depends. например - допустим твое фронтенд приложение это какой-нибудь гугл док.
источник

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
проще на это смотреть так - твоя система имеет стэйт - этот стэйт это все вообще что меняется. Ты хочешь что бы стэйт был консистентным и "конситентен он" когда все правила соблюдаются
источник

SP

Sergey Protko in Software Design/Architecture/Zen
при этом может быть что стэйт на фронте и за ним надо следить
источник

SP

Sergey Protko in Software Design/Architecture/Zen
а бэк в этом ключе просто стор, так же как local storage какой условный
источник

E

Emanresun in Software Design/Architecture/Zen
понимаю, но в случае если стейт на бэке, что меняется
источник

SP

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

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
как ты можешь это гарантировать на фронте
источник

E

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