1-1 Более семантически точное ПО допускает меньше вариаций бизнес-процесса
В случае компьютерных приложений очевидно, что семантический уровень (semantic awareness) закладывается архитектором, поскольку именно архитектор определяет используемые абстракции. Пользователи системы не могут изменить этот уровень и вынуждены пользоваться имеющимся. Поскольку вариативность бизнес-процесса исходит от пользователей, они оказываются в ситуации, когда ПО неспособно реализовать требуемую автоматизацию для новой версии бизнес-процесса даже с небольшими отклонениями от первоначального варианта.
За счет введения семантически оправданных абстракций возможно обобщить системы и таким образом “смягчить” автоматизацию и поддержать большее количество вариаций в бизнес-процессах. Это можно (и нужно) делать инкрементно, т.е. при получении новых требований расширять/обобщать (а не заменять нужную часть) ПО, чтобы поддержать любые изменения такого рода (в идеале - без изменения кода и деплоя нового экземпляра). Другими словами, Обязательно следовать OCP при изменениях кода.
Тут возможны связи, которые еще предстоит обдумать:
- Чем специфичнее требования, тем более общим должен быть код
- Простые и общие правила позволяют обуздать сложность.
- Сопротивление абстракциям в коде