He estado trabajando mucho con PHP. Pero recientemente me enviaron a un trabajo que usa Java. En PHP solía hacer muchos objetos de Singleton, pero este patrón no tiene la misma significación en Java que tiene en PHP. Así que quería ir a una clase de utilidad (una clase con método estático), pero a mi jefe no le gusta este tipo de clases y me pide que vaya para el objeto de servicios. Así que mi suposición es que un objeto de servicio es solo una clase con un constructor que implementa algunos métodos públicos ... ¿Estoy en lo cierto?¿Cuál es la definición de objeto de servicio?
Respuesta
Domain-Driven Design define un servicio como:
Un servicio es una operación ofrece como una interfaz que se encuentra solo en el modelo, sin encapsular estado ... [p. 105]
Sí, es una clase con métodos públicos, pero además de eso, implementa una interfaz que expone esos métodos. En su núcleo, el Servicio es la interfaz - la clase que lo implementa es solo un detalle de implementación.
Encontré otra definición para un objeto de servicio en lugar de una que se describe como una interfaz para clases concretas que están a punto de proporcionar un determinado servicio a través de esa definición de API establecida por la interfaz.
artículo sobre microservicios>Link definición de objeto de servicio:
3: Muchos diseñadores orientados a objetos, incluidos nosotros mismos, utilice el objeto de servicio término en el sentido Driven Design-dominio para un objeto que se lleva a cabo un proceso significativo que no está vinculado a una entidad. Este es un concepto diferente de cómo estamos usando "servicio" en este artículo. Tristemente, el término servicio tiene ambos significados y tenemos que vivir con el polisemen.
Lo que entiendo aquí no es el aspecto técnico como definirlo como una "interfaz" sino más bien el concepto de diseño que describe. También entiendo un service object
simplemente un dominio de una clase como su responsabilidad. Por lo tanto, si está desarrollando aplicaciones web, es posible que tenga un objeto de servicio SecurityService
que es un componente de SecurityController
. El controlador está llamando al servicio para que realmente procese los servicios específicos de seguridad (el dominio).
- 1. Cuál es la definición de proxy-aware
- 2. condicionales de definición de objeto JavaScript - ¿cuál es mejor?
- 3. ¿Cuál es la definición de HTTP_X_PURPOSE?
- 4. ¿Cuál es la definición exacta de "Token?"
- 5. ¿Cuál es la definición de "código heredado"?
- 6. ¿Cuál es la definición de la altura de un árbol?
- 7. ¿Cuál es la definición de un detalle de implementación?
- 8. ¿Cuál es la definición de una celda de Lisp Cons?
- 9. ¿Cuál es la definición exacta de un cierre?
- 10. ¿Cuál es la definición de dormido para un dispositivo Android?
- 11. ¿Cuál es la definición exacta de un intérprete metacircular?
- 12. ¿Cuál es la definición precisa de un set lookahead?
- 13. Cobertura básica de bloque: ¿cuál es la definición precisa?
- 14. Symfony: objeto de inyección (no servicio) al constructor de servicio
- 15. Definición del objeto de clase volátil
- 16. ¿Cuál es la diferencia entre un controlador y un servicio?
- 17. ¿Cuál es el uso de ^: dinámico en una definición?
- 18. C++ definición de objeto de función "mayor"
- 19. ¿Cuál es el objeto "undef" de Ruby?
- 20. ¿Cuál es la definición exacta del patrón de diseño de la estrategia?
- 21. ¿Es necesario probar la definición de interfaz?
- 22. ¿Es posible la definición incremental de Macro?
- 23. ¿Cuál es la longitud máxima de un objeto NSString?
- 24. ¿Cuál es la forma correcta de deshabilitar un servicio OSGi al inicio del servicio?
- 25. 'objeto' no contiene una definición para 'X'
- 26. Cuando hablamos de lenguajes de programación, ¿cuál es la definición de Magia?
- 27. ¿Cuál es el significado de los valores no numéricos en la definición de borde de XFL?
- 28. ¿Cuál es la diferencia entre la recarga del servicio y el reinicio del servicio?
- 29. ¿Cuál es el propósito de un doble negativo en la definición de macro, como (!! (expr))?
- 30. ¿Cuál es la ventana de definición de código en Visual C++ 2008 Express?
Así que si lo hago bien, para cada clase de utilidad que estoy transformando en servicio ¿se supone que debo crear una interfaz? – MaxouMask
Sí, bueno, pero en OO, todo el concepto de una clase de utilidad es un olor a código. Las clases True OO tienen responsabilidades bien definidas ... –
bien, muchas gracias :) – MaxouMask