Patrones01 de may de 2026

Single Responsibility Principle

Demostracion del principio de responsabilidad unica: cada clase tiene una sola razon para cambiar. Separacion limpia de responsabilidades en un servicio de notificaciones.

SOLIDClean CodeArchitecture
typescript
// SRP aplicado en TypeScript
class UserRepository {
async create(data) {
return db.users.insert(data);
}

async findById(id) {
return db.users.findOne({ id });
}
}

class UserValidator {
validate(data) {
const errors = [];
if (!data.email.includes('@')) errors.push('Email invalido');
if (data.password.length < 8) errors.push('Password muy corta');
return { valid: errors.length === 0, errors };
}
}

class NotificationService {
async sendWelcome(user) {
await mailer.send({
to: user.email,
template: 'welcome',
data: { name: user.name },
});
}
}

class CreateUserUseCase {