У меня есть приложение react-redux
, и моя команда использует grp c -web . Мне интересно - каков наилучший способ разработки такой системы?
На данный момент планируется создать 3 уровня абстракции:
API
модуль - обещанные обертки вокруг grpc-web
клиенты Redux thunks
уровень - asyn c создатели действий, которые имеют дело с API React components props
- будут запрашивать только то, что нужно компоненту
Так что components
ничего не знают о grpc
, они связываются с создателями действий, создатели действий ничего не знают о grpc
, они имеют дело с модулем api
, и только модуль api
использует с grpc-web
заглушками.
Причины, по которым я хочу go таким образом:
- Нет grp c -specifi c код в действии создателей и компонентов
- My Promise-based API вместо основанного на обратном вызове API grp c -web
Мои вопросы:
- Это хорошая идея иметь уровень абстракции между Redux и GRP c -web? Или лучше держать эти вещи внутри логики создателей действий c?
- Есть ли общий шаблон проектирования, о котором я должен подумать? (Я имею в виду «Адаптер»)
- Это хорошая идея, чтобы обещать
grpc-web
API? Если да, то хорошая ли идея написать функцию и делать это на лету? - Могу ли я сказать, что мой текущий план - это шаблон адаптера?
- Если я хочу использовать шаблон адаптера я должен сопоставить каждый элемент сбора данных с моим собственным интерфейсом? Я знаю, что мои компоненты (и, возможно, создатели действий) не должны зависеть от
grpc-web
API, потому что этот API может измениться в будущем