The
single responsibility principle states that every module or
class should have responsibility over a single part of the
functionality provided by the
software, and that responsibility should be entirely
encapsulated by the class. All its
services should be narrowly aligned with that responsibility.
Robert C. Martin expresses the principle as follows:
- * A class should have only one reason to change