Это звучит разумно, поскольку именно так я бы решил эту проблему в среде с нуля.
Хотя давайте не будем называть это Переключением функций .Как следует из названия, Feature Toggle - это переключатель on / off , который может быть не тем, что вам нужно.
Иногда обновление также включает изменено поведение в существующих функциях.Это означает, что вам, вероятно, понадобится что-то более сложное, чем переключатель on / off .
Шаблон стратегии - это более гибкий способ моделирования изменений вповедение.Каждая Стратегия может представлять определенную версию определенного поведения, и если вы вообще не хотите этого поведения, вы можете предоставить реализацию Null Object .Другими словами, Feature Toggle может быть реализован со Стратегией.
Вы можете внедрить Стратегии в ядро вашего приложения, используя Dependency Injection, и вы можете сделать выбор Стратегий настраиваемым через систему конфигурации.Большинство DI-контейнеров, о которых я слышал (в .NET и Java), поддерживают конфигурацию на основе файлов.
Это, по сути, описывает архитектуру надстройки .
Теперь,даже для нового приложения это нелегко сделать.Если у вас безголовая система, это не , что сложно, но как только вы включили пользовательский интерфейс, вы начинаете понимать, что вам также понадобится компонентизировать архитектуру пользовательского интерфейса, чтобы вы могли подключитьЭлементы пользовательского интерфейса с помощью стратегий.
На основе десятилетней базы кода это было бы то, что я бы назвал «интересным испытанием», если не сказать больше.