Diferença entre fábrica, provedor e serviço?

114

Qual é a diferença entre os termos Fábrica, Provedor e Serviço?

Basta entrar no NHibernate e seu padrão de Repositório (classes POCO, etc).

mrblah
fonte

Respostas:

169

Factory : monta classes, seja compondo um monte de bits juntos ou escolhendo o tipo com base em algum tipo de contexto

Provedor : Provedor é algo "inventado" pela Microsoft (basicamente um padrão de fábrica abstrato) que é uma maneira de fazer uma fábrica de fábricas ou ter uma interface de fábrica comum que permite que as fábricas possam ser trocadas. Ele é usado em toda a pilha da Web do MS como uma forma de manter os componentes configuráveis.

Serviço : um serviço é um grupo de funcionalidades relacionadas. Pense nisso como se você estivesse dividindo sua arquitetura horizontalmente, você tivesse uma camada de "Lógica de Negócios", se você dividisse isso verticalmente, você teria serviços.

Matt Briggs
fonte
25
Um serviço também pode ter a noção de não ter estado .. ele opera em outros objetos para fazer seus serviços, sem ter um estado próprio. Pelo menos em Domain Driven Design.
Mike Gleason Jr Couturier
Será que o Factory será gerado instância no Angular like Service ou apenas usar o método estático?
qianjiahao
@qianjiahao uma recomendação geral é evitar métodos estáticos.
Sebas,