SOLID: Single Responsibility Principle (SRP) — Why Uncle Bob’s Definition Is Not Good Enough

Max Zimmermann 💡
6 min readMar 21, 2023

Introduction

The Single Responsibility Principle (SRP) is a fundamental concept in software design that got famous as the first part of the well-known SOLID principles defined by Robert C. Martin better known as “Uncle Bob”. His definition states that “each software module should have one and only one reason to change”. According to him, a reason for change is based on a business function that is represented by one person or a group of persons. While Uncle Bob is a legend with superior knowledge about all parts of programming, I want to argue that his definition of a reason to change in the SRP has some shortcomings that should be addressed to improve your code quality.

In the following, I give you a better understanding of the SRP in general by explaining the advantages of using the SRP, then describing the original version by Uncle Bob with its shortcomings and finally proposing an improved interpretation.

Why?

The Single Responsibility Principle (SRP) is a key aspect of the SOLID principles of software design. Key advantages are:

  1. Better collaboration: By separating concerns into…

--

--

Max Zimmermann 💡

Flutter developer. I am excited about learning new things and sharing them with others. https://linktr.ee/maxmitz