Рекомендация. Рекомендуется ли предоставлять услугу как publi c: Angular 9 - PullRequest
0 голосов
/ 09 июля 2020

Это лучший практический вопрос для руководства

Обычно при получении данных из Сервиса я вставляю сервис в ctor как частный сервис и назначаю любые наблюдаемые данные (из него) в local в моем компоненте.

Мой вопрос ... Считается ли «лучшей практикой» доступ к свойству локального компонента или доступ к свойству в службе напрямую (с моей точки зрения)?

Это потребует изменения модификатора доступа внедренной службы на publi c, так как я бы хотел получить доступ к службе прямо из моего представления.

Я знаю, что это сработает, НО это нормально или работает есть последствия для безопасности?

Любые советы, полученные с благодарностью

1 Ответ

1 голос
/ 09 июля 2020

Это зависит от того, что вы планируете делать с кодом. После того, как он скомпилирован в JavaScript, в любом случае нет никакого смысла общедоступного / защищенного / частного.

Если вам нужно использовать что-то в шаблоне или вызвать из несвязанного класса, это должно быть опубликовано c, иначе вы получите ошибку компилятора.

Если вы хотите, чтобы классы, расширяющие ваш класс, могли напрямую вызывать методы, они должны быть как минимум защищены.

Если вы этого не сделаете. Я хочу, чтобы даже классы, расширяющие ваш класс, имели доступ, сделайте их закрытыми.

Это не имеет никаких последствий для безопасности. Если кто-то использует ваше приложение, считайте его скомпрометированным / никогда не доверяйте клиенту и всегда проверяйте на сервере.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...