Sobes.tech
Назад к вопросам
Senior
3

Расскажи про принципы SOLID

Компании, где спрашивали
Octo

Ответ от нейросети

sobes.tech AI

Принципы SOLID — это набор пяти основных принципов объектно-ориентированного программирования, направленных на создание гибкого, расширяемого и поддерживаемого кода:

  1. S — Single Responsibility Principle (Принцип единственной ответственности) Каждый класс должен иметь только одну причину для изменения, то есть отвечать за одну конкретную задачу.

  2. O — Open/Closed Principle (Принцип открытости/закрытости) Программные сущности должны быть открыты для расширения, но закрыты для модификации.

  3. L — Liskov Substitution Principle (Принцип подстановки Барбары Лисков) Объекты подклассов должны быть взаимозаменяемы с объектами базового класса без нарушения корректности программы.

  4. I — Interface Segregation Principle (Принцип разделения интерфейса) Клиенты не должны зависеть от интерфейсов, которые они не используют. Лучше иметь несколько специализированных интерфейсов, чем один универсальный.

  5. D — Dependency Inversion Principle (Принцип инверсии зависимостей) Модули верхнего уровня не должны зависеть от модулей нижнего уровня. Оба должны зависеть от абстракций.

Пример на Java для принципа единственной ответственности:

class Report {
    String content;
    // Отвечает только за данные отчёта
}

class ReportPrinter {
    void print(Report report) {
        // Отвечает только за вывод отчёта
        System.out.println(report.content);
    }
}

Так разделяются обязанности, что облегчает поддержку и расширение кода.