Как принципы SOLID применяются на практике
SOLID — это набор принципов объектно-ориентированного проектирования, которые помогают создавать гибкий и поддерживаемый код.
-
Single Responsibility (SRP) — класс должен иметь одну ответственность.
Пример:UserServiceдолжен управлять пользователями, а не отправлять email. -
Open-Closed (OCP) — классы должны быть открыты для расширения, но закрыты для изменений.
Пример: Использование интерфейсов и полиморфизма вместо модификации существующего кода.
-
Liskov Substitution (LSP) — подклассы должны заменять родительские классы без изменения поведения.
Пример: ЕслиBird— базовый класс,Penguinне должен нарушать его контракт (например, не летать). -
Interface Segregation (ISP) — клиенты не должны зависеть от интерфейсов, которые они не используют.
Пример: РазделениеMachineнаPrinterиScannerвместо одного громоздкого интерфейса. -
Dependency Inversion (DIP) — зависимости должны строиться на абстракциях, а не на конкретных реализациях.
Пример: ВнедрениеLoggerчерез интерфейс, а не прямая зависимость отFileLogger.
// Пример DIP
interface Logger {
void log(String message);
}
class FileLogger implements Logger {
@Override
public void log(String message) { /* запись в файл */ }
}
class Service {
private final Logger logger;
Service(Logger logger) { this.logger = logger; } // DI
}Эти принципы упрощают тестирование, рефакторинг и масштабирование кода.

офферы быстрее!
Следующий вопрос
Это единственный вопрос по вашему фильтру