Модели в стиле магистрали в angularjs?
Я прошу прощения, если на этот вопрос уже был дан ответ в другом месте, но я не смог найти полное, очевидное (по крайней мере для меня) решение.
У меня есть опыт с идеей модели в позвоночнике. На мой взгляд, это похоже на класс в любом другом языке ООП - создайте "класс" с помощью Backbone.Model.extend() и вызывайте новый для него, когда вы хотите новый экземпляр этого класса. Если у меня есть пространство имен приложения, я могу хранить там все свои объекты и делать что-то вроде App.getAllThisOrThatTypeModel().
Это услуга в угловой? Является ли нормальная "лучшая практика" иметь множество услуг (по одной для каждого типа модели), в основном имитируя "класс" с "обслуживанием"?
Я просто пытаюсь обернуть голову вокруг наилучшего способа работы с моделями, поскольку я пытаюсь перейти от базовой линии к угловой, чтобы экспериментировать - любой совет для кого-то, мигрирующего в этом направлении, был бы очень признателен.
Спасибо!
1 ответ
В Angular модели просто POJOs (простые старые объекты javascript).
Сервисы - это что-то другое, но вы обычно получаете модели с сервисами. Рекомендуется иметь больше сервисов, поэтому вы можете использовать их во всем приложении. Также большой плюс для сервисов в том, что они могут быть протестированы модульно. И, как и все остальное в разработке программного обеспечения, всегда лучше разбить ваше приложение на маленькие модули, которые легче поддерживать, чем большие куски кода.
Вам не нужно просто имитировать ваши модели в качестве услуги. Позже вы можете добавить к ним некоторые функции и сохранить свою доменную логику внутри этих сервисов.
Я не специалист по Angular, но я надеюсь, что это поможет.