Скажем, что у меня есть служба данных AngularJS, которая делает вызов на сервер и возвращает объект, который может быть расширен с помощью дополнительных методов. Например, предположим, что следующая функция является частью службы AngularJS для чего-то вроде NerdDinner.
function getDinner(dinnerId) {
return $http.get('api/dinner/' + dinnerId)
.then(loadDinnerComplete)
.catch(loadDinnerFailed);
function loadDinnerComplete(response) {
return new Dinner(response.data);
}
}
Какая лучшая практика для места, чтобы определить класс Ужин? Это factory в отдельном файле? Определить ли это в службе NerdDinner? Или я определяю это в классе GetDinner (предполагая, что единственный метод, который может создавать обеды)?
Я не нашел никакой конкретной ссылки на создание объектов в руководство по стилю, поэтому простите меня, если оно будет закрыто, и я просто пропустил его.
Edit Я в конечном итоге решил принять Jeroen answer, потому что он наиболее соответствовал моим потребностям в довольно простом случае использования. Тем не менее, Даниэль отвечает, является чистым золотом, и его не следует упускать из виду. Если бы я решил расширить функциональность моего DTO с помощью простых CRUD или дополнительных операций на сервере, ресурс $- отличный подход.