Ежедневно. Они — фундамент для построения расширяемого, поддерживаемого и тестируемого кода.
- Single Responsibility Principle (SRP): Каждый класс или метод должен заниматься только одним делом.
- Open/Closed Principle (OCP): Программные сущности (классы, модули, функции) должны быть открыты для расширения, но закрыты для модификации.
- Liskov Substitution Principle (LSP): Объекты базового класса должны быть заменяемыми объектами производных классов без нарушения работоспособности программы.
- Interface Segregation Principle (ISP): Клиенты не должны зависеть от интерфейсов, которые они не используют.
- Dependency Inversion Principle (DIP): Модули верхних уровней не должны