Describe lo bien que una unidad de código se corresponde con una tarea lógica o una entidad. Un buen diseño de clases exhibe un alto grado de cohesión.

El diseño dirigido por responsabilidades es el proceso de diseñar clases asignando unas responsabilidades bien definidas a cada una.