Chapter 12

Design VI – Solid Principles ++

"Everything should be made as simple as possible, but no simpler."

– Generally attributed to Albert Einstein

Single Responsibility Principle

In object-oriented programming, the Single Responsibility Principle (SRP) states that every object should have a single responsibility, and that responsibility should be entirely encapsulated by the class. All its services should be narrowly aligned with that responsibility.

The term was introduced by Robert C. Martin. Martin described it as being based on the principle of cohesion as described by Tom DeMarco in his book Structured Analysis and Systems Specification. Cohesion is a measure of the strength of association of the elements inside a module. A highly ...

Get Agile Technical Practices Distilled now with the O’Reilly learning platform.

O’Reilly members experience live online training, plus books, videos, and digital content from nearly 200 publishers.