El principio de responsabilidad única o SRP (siglas del inglés, Single Responsibility Principle) en ingeniería de software establece que cada módulo o clase debe tener responsabilidad sobre una sola parte de la funcionalidad proporcionada por el software y esta responsabilidad debe estar encapsulada en su totalidad por la clase.
Todos sus servicios deben estar estrechamente alineados con esa responsabilidad.
Este principio está incluido en el acrónimo mnemotécnico SOLID.
Robert C. Martin expresa el principio de la siguiente forma:[1]
En programación orientada a objetos, se suele definir como principio de diseño que cada clase debe tener una única responsabilidad, y que esta debe estar contenida únicamente en la clase.