Я пытаюсь интегрировать pubnub в свое приложение loopback 4, но я не уверен, где он должен быть создан или использован? Предполагается ли его использование в репозитории, контроллере или модели? Если я попытаюсь создать экземпляр в классе репозитория, мне придется создать свойство pubnub в модели. Можно ли создать экземпляр вне класса или это в конечном итоге приведет к ошибкам?
Как интегрировать pubnub в loopback4
Ответы (1)
Область действия экземпляра PubNub
Как правило, PubNub следует создавать как singleton (один раз и только один раз за время жизни приложения) в области приложения, доступной любому представлению, контроллеру, модели или служебному классу.
Или спроектируйте его таким образом, чтобы экземпляр PubNub передавался в качестве аргумента от/к каждому из этих компонентов в вашем приложении. Но я не слишком задумываюсь об этом на этих ранних этапах работы над PoC.
Вы также можете думать о PubNub как о подключении к базе данных:
- выберите =
subscribe
илиfetchMessages/history
- вставить и обновить =
publish
- удалить =
deleteMessages
Не принимайте эту аналогию слишком буквально, но она полезна для понимания того, как PubNub вписывается в ваше приложение с точки зрения вашего варианта использования и требований.
Фактически, вы должны настроить свою учетную запись PubNub с приложениями и наборами ключей с мышлением базы данных. Прочитайте это: Может ли мой Учетная запись PubNub поддерживает несколько сред? Это идет дальше с аналогией с базой данных в отношении сред разработки, тестирования и производства.
Это должно дать информацию, необходимую для разработки ваших приложений PubNub в соответствии с лучшими практиками.