middleoop
Что такое SOLID?
Ответ
S — Single Responsibility: класс должен иметь одну причину для изменения. O — Open/Closed: открыт для расширения, закрыт для изменения. L — Liskov Substitution: подтипы должны быть заменяемы базовым типом. I — Interface Segregation: много специфичных интерфейсов лучше одного общего. D — Dependency Inversion: зависеть от абстракций, не от конкреций.
JSJavaScriptC#C#
Примеры кода:
C#C#
// Нарушение SRP
class UserManager {
void CreateUser() { }
void SendEmail() { } // не его ответственность!
void LogActivity() { } // не его ответственность!
}
// Соблюдение SRP
class UserManager {
void CreateUser() { }
}
class EmailService {
void SendEmail() { }
}
class ActivityLogger {
void Log() { }
}