Мы создаем приложение LOB Thick WPF Client / WCF Server. Мне нужно создать архитектуру, которая позволяет «подключаемым» рабочим процессам на стороне клиента, чтобы упростить бизнес-продажи для гибкости каждого клиента.
Однако в .Net добавление проектов в решение для каждой модификации клиента и почти для каждого компонента, который считается «заменяемым», в лучшем случае кажется опасным.
Альтернатива, которая приходит в голову, - абстрагировать все классы от интерфейса и позволить конфигурации передавать правильную реализацию.
Тогда есть логистическая перспектива: как вам лучше всего управлять этим, например, в управлении исходным кодом?
Каким опытом вы можете поделиться и какие варианты знаете?
PS: На самом деле я не стремлюсь к расширяемости. Мне нужно, чтобы существующие функции были "настраиваемыми". Такие вещи, как изменение порядка страниц в мастере. Я думаю, что предложение Колина о конфигурации, возможно, будет лучшим вариантом. Но помимо этого?