May I give a single class multiple responsibilities if only one will ever be reusable?
- by lnluis
To the extent that I understand the Single Responsibility Principle, a SINGLE class must only have one responsibility.
We use this so that we can reuse other functionalities in other classes and not affect the whole class.
My question is: what if the entity has only one purpose that really interacts with the system, and that purpose won't change? Do you have to separate the implementations of your methods into another class and just instantiate those from your entity class?
Or to put it another way... Is it ok to break the SRP if you know those functions will not be reusable in the future? Or is it better to assume that we do not know if the functionalities of these methods will be reusable or not, and so just abstract them to other classes?