Single Responsibility Principle
Не должно существовать более одного мотива для изменения данного класса.
Open/Closed Principle
Нужно избегать случаев, когда появление новых требований к функциональности влечет за собой модификацию существующей логики, стараясь реализовать возможность ее расширения.
Liskov Substitution Principle
Наследующий класс должен дополнять, а не замещать поведение базового класса.
Interface Segregation Principle
Клиент не должен вынужденно зависеть от элементов интерфейса, которые он не использует.
Dependency Inversion Principle
Абстракции не должны зависеть от деталей, в то время как детали должны зависеть от абстракций.
Liskov - Потомок не должен нарушать контракт родителя
ОтветитьУдалитьНравится объяснение LSV: Дочерние классы не имеют права "врать"!
ОтветитьУдалить