Встречается на собеседованиях • сегодня

Как принципы SOLID применяются на практике

SOLID — это набор принципов объектно-ориентированного проектирования, которые помогают создавать гибкий и поддерживаемый код.

  1. Single Responsibility (SRP) — класс должен иметь одну ответственность.
    Пример: UserService должен управлять пользователями, а не отправлять email.

  2. Open-Closed (OCP) — классы должны быть открыты для расширения, но закрыты для изменений.
    Пример: Использование интерфейсов и полиморфизма вместо модификации существующего кода.

  1. Liskov Substitution (LSP) — подклассы должны заменять родительские классы без изменения поведения.
    Пример: Если Bird — базовый класс, Penguin не должен нарушать его контракт (например, не летать).

  2. Interface Segregation (ISP) — клиенты не должны зависеть от интерфейсов, которые они не используют.
    Пример: Разделение Machine на Printer и Scanner вместо одного громоздкого интерфейса.

  3. Dependency Inversion (DIP) — зависимости должны строиться на абстракциях, а не на конкретных реализациях.
    Пример: Внедрение Logger через интерфейс, а не прямая зависимость от FileLogger.

java
// Пример 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
}

Эти принципы упрощают тестирование, рефакторинг и масштабирование кода.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

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

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы