What about read-only use cases?
As of now, 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, the UI needs the data for a use case we might call View Account Balance, but in some cases, calling this a “use case” is a bit artificial. 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...