Я работаю с AngularJS для моего последнего проекта. В документации и руководствах все данные модели помещаются в область действия контроллера. Я понимаю, что это должно быть там, чтобы быть доступным для контроллера и, следовательно, в соответствующих представлениях.
Однако я не думаю, что модель должна быть реализована там. Это может быть сложно и иметь частные атрибуты, например. Кроме того, можно использовать его в другом контексте/приложении. Помещение всего в контроллер полностью нарушает схему MVC.
То же самое относится и к поведению любой модели. Если бы я использовал архитектуру DCI и отделил поведение от модели данных, мне пришлось бы вводить дополнительные объекты для хранения поведения. Это будет сделано путем введения ролей и контекстов.
DCI == Д ата С ollaboration я nteraction
Конечно, данные и поведение модели могут быть реализованы с помощью простых объектов JavaScript или любого шаблона "класса". Но каков будет AngularJS способ сделать это? Пользуетесь услугами?
Итак, все сводится к этому вопросу:
Как реализовать модели, отделенные от контроллера, следуя рекомендациям AngularJS?