Single responsibility principle

First of all, let’s ask the logical question “What is a responsibility ?” – In terms of SRP ‘responsibility’ is usually defined as ‘a reason to change’. So we can paraphrase this principle to a ‘Single reason to change’. Indeed this is all it is about. We should design our software in a way that