Що таке принцип єдиної відповідальності (SRP)?
Клас повинен мати одну причину для зміни.
Поганий приклад
javascript
// Занадто багато відповідальностей!
class User {
constructor(data) {
this.data = data;
}
save() {
// Логіка бази даних
db.insert(this.data);
}
sendEmail() {
// Логіка email
mailer.send(this.data.email);
}
generateReport() {
// Логіка звітів
return pdf.create(this.data);
}
}Хороший приклад
javascript
// Єдина відповідальність: дані користувача
class User {
constructor(data) {
this.data = data;
}
}
// Єдина відповідальність: База даних
class UserRepository {
save(user) {
db.insert(user.data);
}
}Коротка відповідь
Для співбесідиPremium
Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.