Конечно, это не должно быть проблемой вообще.
Есть несколько подходов ...
- Вы можете синхронизировать данные с разными вторичными репозиториями в одном месте (поэтому одновременно доступен только один набор классов пользовательского интерфейса). Я думаю, что это будет трудно поддерживать.
- Вы можете изменить свой путь к классу, чтобы он указывал на набор классов, который вы хотите использовать (все классы будут в одном и том же хранилище, вы просто скомпилируете с разными.
- Вы можете включить их все в ваш путь к классам и рефлексивно создать его, используя интерфейсы (описанные ниже)
Независимо от того, как вы это делаете, я предлагаю вам определить набор интерфейсов в вашем основном проекте и ссылаться на ваши объекты только через эти интерфейсы - тогда в каждом из ваших частичных проектов вы реализуете эти интерфейсы. Таким образом, если вы измените способ ссылки, вам не нужно вносить какие-либо изменения кода ...
Чтобы получить начальные экземпляры этих объектов, используйте фабрику / отражение ...