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