TGViewer
Programming & QA Programming & QA @smartiqa · 323 subscribers
Post #472 236
Вопрос №115

Тема: Основы программирования. Проектирование.

Q: Что такое Принцип SOLID? На какие под-принципы его можно разделить?

A: Делится на 5 принципов.

1) S (Single-responsibility principle): каждый класс/метод должен отвечать только за что-то одно.

2) O (Open–closed principle): Программные объекты должны быть открыты для расширения, но закрыты для модификации. Пример - наследование.

3) L (Liskov substitution principle): Можно заменить использование класса-родителя его потомком и в работе программы ничего не изменится.

4) I (Interface segregation principle): Объекты не должны зависеть от интерфейсов, которые они используют. То есть если мы создаем интерфейс, то не нужно делать обязательными методы, которые пригодятся только некоторым объектам, использующим этот интерфейс. Например интерфейс Animal с методами eat() и fly() - не все животные могут летать.

5) D (Dependency inversion principle): Объекты программы должны иметь слабую связность с другими объектами. Нужно полагаться на абстракции, а не на конкретные реализации. Например, можно сделать абстракцию над Datetime() классом. И тогда при смене поставщика даты, нужно будет внести изменения только внутри этой абстракции.
  • 👍 1
More from @smartiqa
  1. Oct 1, 2026Вопрос №180 Q: Что такое хэш? Какой метод используется для его вычисления? A: Хеш-функция…
  2. Aug 29, 2026photo post
  3. Aug 26, 2026Вопрос №179 Q: Как удалить первые 100 элементов из списка? A: del my_lst[0:100]
  4. Aug 22, 2026photo post
  5. Aug 19, 2026Вопрос №178 Q: Что выведет данный код?
  6. Aug 15, 2026photo post
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →