Разница между заводом, поставщиком и сервисом?

115

В чем разница между терминами Завод, Поставщик и Сервис?

Просто захожу в NHibernate и его шаблон репозитория (классы POCO и т. Д.).

mrblah
источник

Ответы:

171

Фабрика : собирает классы, либо составляя кучу битов вместе, либо выбирая тип на основе какого-либо контекста.

Провайдер : Провайдер - это то, что Microsoft «изобрела» (по сути, абстрактный фабричный шаблон), который представляет собой способ создания фабрики фабрик или имеет общий фабричный интерфейс, который позволяет менять фабрики. Он используется повсюду в веб-стеке MS как способ сохранения настраиваемости компонентов.

Сервис : Сервис - это группа связанных функций. Думайте об этом так, как если бы вы разделяли свою архитектуру по горизонтали, у вас есть слой «бизнес-логики», если вы разделите его по вертикали, у вас будут услуги.

Мэтт Бриггс
источник
25
Служба также может иметь понятие отсутствия состояния ... она оперирует другими объектами для выполнения своих служб, не имея собственного состояния. По крайней мере, в доменно-ориентированном дизайне.
Майк Глисон-младший кутюрье
будет ли Factory сгенерирован экземпляр в Angular, например Service, или просто использовать статический метод?
qianjiahao 03
@qianjiahao общая рекомендация - избегать статических методов.
Sebas