-
Book Overview & Buying
-
Table Of Contents
Get Your Hands Dirty on Clean Architecture
By :
In Chapter 4, Implementing a Use Case, I argued that different use cases should have a different input and output model, meaning that the types of input parameters and the types of return values should be different.
The following figure shows an example where two use cases share the same input model:
The effect of sharing, in this case, is that SendMoneyUseCase and RevokeActivityUseCase are coupled to each other. If we change something within the shared SendMoneyCommand class, both use cases are affected. They share a reason to change in terms of the single responsibility principle. The same is true if both use cases share the same output model.
Sharing input and output models between use cases is valid if the use cases are functionally bound – that is, if they share a certain requirement. In this case, we actually want both use cases...
Change the font size
Change margin width
Change background colour