Принципы SOLID Flashcards

SOLID principles

1
Q

Single Responsibility Principle

A

У класса должна быть только одна причина для изменения

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Open Closed Principle

A

Класс должен быть открыт для расширения и закрыт для изменения.
1. открыты для расширения: означает, что поведение сущности может быть расширено путём создания новых типов сущностей.
2. закрыты для изменения: в результате расширения поведения сущности, не должны вноситься изменения в код, который эту сущность использует.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Liskov Substitution Principle

A

Клиентский код должен иметь возможность использовать объект класса-наследника там, где разрешено использовать объект базового класса не зная об этом.

Объекты должны быть заменяемы своими подтипами без нарушения корректности работы программы

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Interface Segregation Principle

A

Много интерфейсов, специально предназначенных для клиентов, лучше, чем один интерфейс общего назначения. Классы не должны зависеть от методов, которые они не используют.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Dependency Inversion Principle

A
  1. Модули верхних уровней не должны зависеть от модулей нижних уровней. Оба модуля должны зависеть от абстракций. (Интерфейс должен быть частью модуля верхнего уровня, а модули нижних уровней должны его реализовывать).
  2. Абстракции не должны зависеть от деталей, детали должны зависеть от абстракций
How well did you know this?
1
Not at all
2
3
4
5
Perfectly