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