¿Diferencia entre una fábrica, un proveedor y un servicio?

114

¿Cuál es la diferencia entre los términos Fábrica, Proveedor y Servicio?

Simplemente ingresando a NHibernate y su patrón de Repositorio (clases POCO, etc.).

mrblah
fuente

Respuestas:

169

Fábrica : ensambla clases, ya sea componiendo un montón de bits o eligiendo el tipo en función de algún tipo de contexto

Proveedor : Proveedor es algo que microsoft "inventó" (básicamente un patrón de fábrica abstracto) que es una forma de hacer una fábrica de fábricas, o tener una interfaz de fábrica común que permite que las fábricas sean intercambiables. Se utiliza en toda la pila web de MS como una forma de mantener los componentes configurables.

Servicio : un servicio es un grupo de funciones relacionadas. Piense en ello como si estuviera dividiendo su arquitectura horizontalmente, tiene una capa de "Lógica empresarial", si la divide verticalmente tendrá servicios.

Matt Briggs
fuente
25
Un servicio también puede tener la noción de no tener estado ... opera sobre otros objetos para hacer sus servicios, sin tener un estado por sí mismo. Al menos en diseño impulsado por dominio.
Mike Gleason jr Couturier
¿La fábrica se generará como instancia en Angular like Service o simplemente usará el método estático?
qianjiahao
@qianjiahao una recomendación general es evitar los métodos estáticos.
Sebas