What about Read-Only Use Cases?
Previously, we have discussed how we might implement a use case that modifies the state of our model. How do we go about implementing read-only cases?
Let's assume the UI needs to display the balance of an account. Do we create a specific use case implementation for this?
It's awkward to talk of use cases for read-only operations like this one. Sure, in the UI, the requested data is needed to implement a certain use case we might call "View Account Balance." If this is considered a use case in the context of the project, by all means we should implement it just like the other ones.
From the viewpoint of the application core, however, this is a simple query for data. So, if it's not considered a use case in the context of the project, we can implement it as a query to set it apart from the real use cases.
One way of doing this within our architecture style is to create a dedicated incoming port for the query and implement it in a "...