The Single Responsibility Principle (SRP) states that a class should have only one reason to change — it should have only one responsibility. This improves maintainability, testability, and flexibility by isolating change to a single concern.

In NestJS, SRP is reflected in the design of Pipes — instead of putting validation logic directly in controller handlers (violating SRP), pipes extract validation into a separate, focused class responsible for one thing.