Я много работал над Angular.js
, и в целом я считаю, что это интересная и мощная инфраструктура.
Я знаю, что было много дискуссий о Сервисах и Фабриках против Провайдеров против Ценностей, но я все еще довольно смущен тем, что такое Factory
.
Factory был определен в других обсуждениях StackOverflow следующим образом:
Заводы
Синтаксис: module.factory( 'factoryName', function );
Результат: при объявлении factoryName в качестве аргумента для инъекции вам будет предоставлено значение, возвращаемое вызовом ссылки на функцию, переданной в module.factory.
Я считаю, что это объяснение очень сложно понять, и это не увеличивает мое понимание того, что такое factory.
У кого-нибудь есть объяснения или примеры реальной жизни, чтобы рассказать о том, что именно есть Factory
и почему вы должны использовать его вместо Service
, Provider
или другого?
Update
A Service
содержит ссылку на любой объект.
A Factory
- это функция, которая возвращает любой объект
A Provider
- это функция, которая возвращает любую функцию
-phew -