Ответ
SOLID — основные принципы ООП:
- Single Responsibility — класс должен решать только одну задачу.
- Open-Closed — классы должны быть открыты для расширения, но закрыты для изменений.
- Liskov Substitution — подклассы должны заменять родительские классы без ошибок.
- Interface Segregation — лучше много узких интерфейсов, чем один универсальный.
- Dependency Inversion — зависимости должны строиться на абстракциях, а не на конкретных классах.
DRY (Don’t Repeat Yourself) — избегай дублирования кода.
KISS (Keep It Simple, Stupid) — простота важнее избыточной сложности.
YAGNI (You Aren’t Gonna Need It) — не добавляй функциональность "на будущее".
Пример SOLID (TypeScript):
// Принцип единственной ответственности
class Logger {
log(message: string) {
console.log(message);
}
}
class UserService {
constructor(private logger: Logger) {}
saveUser(user: User) {
// логика сохранения
this.logger.log(`User saved: ${user.name}`);
}
}