Использовать сервис / провайдеров в моделях с ionic3 / Angular4 - PullRequest
0 голосов
/ 30 сентября 2018

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

Мы собираемся предположить, что мы разрабатываем и Ionic3-Angular приложение, где у нас естьCRUD для "Клиентов".Я прочитал, что правильный путь таков:

  • Модель клиента: класс, в котором я определяю атрибуты.
  • Служба / поставщик клиента: он будет управлять получением, изменением и сохранением данных связи базы данных.
  • Страница: где я вызываю load datad и показываю.

Все примеры, которые я нашел, должны быть:

  • Они представляют собой модель Cliente в Page.
  • Они вставляют клиенту Service / Provider в Page.

Для загрузки данных:

  • Со страницы они загружают провайдера броска данных и назначают данные объекту (типКлиент).

Теперь я собираюсь справиться со своими сомнениями.Может быть лучше реализовать доступ к данным и управлять напрямую в Model?Я сделал небольшие проекты с этим, но я могу найти любой пример, когда люди делают это, и, возможно, я ошибаюсь.Я имею в виду:

Например, у меня будет класс клиента со следующими методами:

static load(cs:ClienteService,id):Cliente{
//function that receive provider and use it to access data with the other parameter (id of the Cliente)
}

guardar(cs:ClienteService):boolean{
// function to save object throw the ClienteService parameter
}

ClienteServicio будет внедрен в Page и будет передан в модель в качестве функции параметра, если это необходимо.Таким образом, логика, проверка данных и т. Д. Будут управляться в Model.

Надеюсь, я объяснил это и получил совет от сообщества.Большое спасибо

1 Ответ

0 голосов
/ 30 сентября 2018

Вместо класса модели я бы попросил использовать интерфейсный класс.Подробное объяснение здесь https://medium.com/front-end-hacking/typescript-class-vs-interface-99c0ae1c2136

В качестве служб Injectable вы можете определить бизнес-логику, связанную с сохранением данных, извлечением и обновлением данных.Убедитесь, что эти данные возвращены как Observables.

В компоненте вы можете подписаться на сервисы, которые будут возвращать необходимые данные.

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