Как спроектировать приложение реагировать на редукцию с помощью grp c -web? - PullRequest
2 голосов
/ 05 января 2020

У меня есть приложение react-redux, и моя команда использует grp c -web . Мне интересно - каков наилучший способ разработки такой системы?

На данный момент планируется создать 3 уровня абстракции:

  1. API модуль - обещанные обертки вокруг grpc-web клиенты
  2. Redux thunks уровень - asyn c создатели действий, которые имеют дело с API
  3. React components props - будут запрашивать только то, что нужно компоненту

Так что components ничего не знают о grpc, они связываются с создателями действий, создатели действий ничего не знают о grpc, они имеют дело с модулем api, и только модуль api использует с grpc-web заглушками.

Причины, по которым я хочу go таким образом:

  • Нет grp c -specifi c код в действии создателей и компонентов
  • My Promise-based API вместо основанного на обратном вызове API grp c -web

Мои вопросы:

  1. Это хорошая идея иметь уровень абстракции между Redux и GRP c -web? Или лучше держать эти вещи внутри логики создателей действий c?
  2. Есть ли общий шаблон проектирования, о котором я должен подумать? (Я имею в виду «Адаптер»)
  3. Это хорошая идея, чтобы обещать grpc-web API? Если да, то хорошая ли идея написать функцию и делать это на лету?
  4. Могу ли я сказать, что мой текущий план - это шаблон адаптера?
  5. Если я хочу использовать шаблон адаптера я должен сопоставить каждый элемент сбора данных с моим собственным интерфейсом? Я знаю, что мои компоненты (и, возможно, создатели действий) не должны зависеть от grpc-web API, потому что этот API может измениться в будущем
...