Especificaciones
Se diferencia del Command sólo en la intención del Use case que lo va a gestionar. En este caso, las Querys buscan información del dominio sin alterar su contenido.
Tiene una complejidad tirando a nula, pero le ponemos un 1, ya que es el valor mínimo.
Como principal cometido, representa la información que ha solicitado el usuario al dominio.
Si tuviéramos que comentar sus características más concretas, diríamos que es un DTO. Eso implica que carece de lógica, contiene datos primitivos y es inmutable. Y también, en estos casos sólo contiene valores primitivos.
Se relaciona con el Query REST controller que es el que lo crea, y el Query use case, que es el que lo recibe.
Como observaciones, siempre necesita tener un Query use case que lo pueda gestionar en exclusiva. Si hubiera más de uno, nuestra aplicación debería fallar.
¿Qué valor me aporta implementar una Query?
- Como DTO, establecerá las reglas principales a nivel de valores primitivos y la cantidad de información que necesita el mensaje para ser útil al Domain. Jugará un papel clave a la hora de que el Command use case pueda hacer su trabajo.
- Habilita la posibilidad de usar un Bus para agregarle funcionalidad al Query use case a través de middlewares, como logging.
¿En el caso de la Query, realmente es una ventaja usar un Bus?
// TODO
¿Cómo se expresa esta carta en el mundo real?
Como indica el icono de arriba a la izquierda, corresponde a una clase.
|
|