Принципы объектно-ориентированного проектирования
Категории:
C#
Java
Для студентов и начинающих
Паттерны проектирования
Типичные вопросы на собеседовании
Шпаргалки

SOLID принципы:
- The Single Responsibility Principle (SRP) — Принцип единственной обязанности У класса должна быть только одна причина для изменения.
- The Open Closed Principle (OCP) — Принцип открытости/закрытости Программные сущности (классы, модули, функции и т. п.) должны быть открыты для расширения, но закрыты для модификации.
- The Liskov Substitution Principle (LSP) — Принцип подстановки Лисков Должна быть возможность вместо базового типа подставить любой его подтип.
- The Interface Segregation Principle (ISP) — Принцип разделения интерфейсов Клиенты не должны вынужденно зависеть от методов, которыми не пользуются. Интерфейсы принадлежат клиентам, а не иерархиям
- The Dependency Inversion Principle (DIP) — Принцип инверсии зависимости Абстракции не должны зависеть от деталей. Детали должны зависеть от абстракций.
Другие принципы:
- Release Equivalence Principle (REP) — Принцип эквивалентности повторного использования и выпуска Единица повторного использования равна единице выпуска.
- Сommon Closure Principle (CCP) — Принцип общей закрытости Все классы внутри пакета должны быть закрыты относительно изменений одного и того же вида. Изменение, затрагивающее пакет, должно затрагивать все классы в этом пакете и только в нем.
- Сommon Reuse Principle (CRP) — Принцип совместного повторного использования Все классы внутри компонента используются совместно. Если вы можете повторно использовать один класс, то можете использовать и все остальные.
- Acyclic Dependencies Principle (ADP) — Принцип ацикличности зависимостей В графе зависимостей между пакетами не должно быть циклов.
- Stable Dependencies Principle (SDP) — Принцип устойчивых зависимостей Зависимости должны быть направлены в сторону устойчивости.
- Stable Abstractions Principle (SAP) — Принцип устойчивых абстракций Пакет должен быть столь же абстрактным, сколь и устойчивым