Куда поместить данные и поведение модели? [тл; доктор; Use Services]

Я работаю с AngularJS над своим последним проектом. В документации и руководствах все данные модели помещаются в область действия контроллера. Я понимаю, что он должен быть доступен для контроллера и, следовательно, в соответствующих представлениях.

Тем не менее, я не думаю, что модель должна быть там реализована. Например, он может быть сложным и иметь частные атрибуты. Кроме того, можно повторно использовать его в другом контексте/приложении. Помещение всего в контроллер полностью нарушает шаблон MVC.

То же самое относится и к поведению любой модели. Если бы я использовал архитектуру DCIи отделил поведение от модели данных, мне пришлось бы ввести дополнительные объекты для хранения поведения. Это может быть сделано путем введения ролей и контекстов.

DCI == Data Cсотрудничество Iвзаимодействие

Конечно, данные и поведение модели могут быть реализованы с помощью простых объектов javascript или любого «класса». " шаблон. Но как это сделать с помощью AngularJS? Пользуетесь услугами?

Итак, все сводится к следующему вопросу:

Как вы реализуете модели, отделенные от контроллера, следуя рекомендациям AngularJS?

340
задан georgeawg 11 May 2019 в 21:10
поделиться