Single Responsability ‐ (SRP)
Una clase debe tener una sola razón para cambiar (una sola responsabilidad).
// ❌ UserService hace MUCHAS cosas (viola SRP)public class UserService { // Responsabilidad 1: Lógica de negocio public void createUser(String email) { ... }
// Responsabilidad 2: Validación public boolean isValidEmail(String email) { ... }
// Responsabilidad 3: Persistencia public void saveToDatabase(User user) { ... }
// Responsabilidad 4: Envío de emails public void sendWelcomeEmail(String email) { ... }
// Responsabilidad 5: Logging public void logUserCreation(String email) { ... }}
// ✅ Cada clase tiene UNA responsabilidadpublic class UserService { // Solo lógica de negociopublic class EmailValidator { // Solo validaciónpublic class UserRepository { // Solo persistenciapublic class EmailService { // Solo envío emailspublic class UserLogger { // Solo logging
Pregunta clave
Section titled “Pregunta clave”¿Por cuantas razones podría cambiar esta clase?. Si son más de 1, esa clase se debe refactorizar.