Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

Документы

Медиа

Назад
Вопрос про Swift : srp, ocp, lsp, isp, dip, solid, architecture

Каковы принципы SOLID?

Проверяет знание пяти фундаментальных принципов объектно-ориентированного проектирования.

Короткий ответ

SOLID — это аббревиатура из пяти принципов:

  • S: Single Responsibility

  • O: Open/Closed

  • L: Liskov Substitution

  • I: Interface Segregation

  • D: Dependency Inversion

Длинный ответ

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

// Плохо
class Report { func print() {} func save() {} }

// Хорошо
class ReportPrinter {}  
class ReportSaver {}

Open/Closed Principle (OCP)

  • Классы должны быть открыты для расширения, но закрыты для модификации.

  • Используются абстракции и протоколы.

Liskov Substitution Principle (LSP)

  • Подкласс должен заменять родительский класс без нарушения логики.

  • (Если Bird умеет летать, то Penguin: Bird — нарушает LSP)

Interface Segregation Principle (ISP)

  • Интерфейсы (протоколы) не должны быть жирными — лучше несколько маленьких, чем один большой.

Dependency Inversion Principle (DIP)

  • Зависимость должна быть от абстракций, а не от конкретных классов. Используйте инъекцию зависимостей.

Уровень

  • Рейтинг:

    2

  • Сложность:

    6

Навыки

  • Swift

    Swift

Ключевые слова

#srp

#ocp

#lsp

#isp

#dip

#solid

#architecture

Подпишись на iOS Developer в телеграм