What if I have a class X that does the following:
- Read a file (within its own class).
- Parses the file by calling a Parse class
- Processing the parsed file by calling a Process class
- Outputting by calling an Output class
I would assume the single responsibility is reading the file, but the other functions (parsing, processing, outputting) are also done by this class (by calling other classes.
Or what if the reading part would be done in a separate class too, and the class X only calls these 4 classes without doing something itself (like a manager)? What is then the responsibility? Is then the Single responsibility 'Managing the reading, parsing, processing output of a file' a responsibility?