Поиск…


Factory VS Service один раз и навсегда

По определению:

Услуги - это в основном функции конструктора. Они используют ключевое слово this.

Заводы - простые функции, поэтому возвращают объект.

Под капотом:

Фабрики внутренне вызывают функцию поставщика.

Служба внутренне вызывает функцию Factory.

Обсуждение:

Заводы могут запускать код до того, как мы вернем наш литерал объекта.

Но в то же время Сервисы также могут быть записаны для возврата литерала объекта и запуска кода перед возвратом. Хотя это непротиворечиво, поскольку службы предназначены для работы в качестве функции конструктора.

Фактически, функции-конструкторы в JavaScript могут возвращать все, что они хотят.

Так какой из них лучше?

Синтаксис конструктора служб ближе к синтаксису класса ES6. Так что миграция будет легкой.

Резюме

Таким образом, в целом, провайдеры, фабрики и службы являются поставщиками.

Завод является частным случаем поставщика, когда все, что вам нужно в вашем провайдере, - это функция $ get (). Это позволяет вам писать с меньшим количеством кода.

Служба является частным случаем фабрики, когда вы хотите вернуть экземпляр нового объекта, с тем же преимуществом при написании меньшего количества кода.

введите описание изображения здесь



Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow