У нас есть составное приложение, созданное с использованием Composite UI Application Block (CAB) / Smart Client Software Factory (SCSF). На сегодняшний день каждый модуль в нашем составном приложении использует свой собственный набор DTO, а бизнес-логика дублируется по всему модулю как на уровне пользовательского интерфейса, так и на уровне сервиса. Я хотел бы придерживаться более основанного на домене подхода, чтобы инкапсулировать бизнес-логику на уровне домена, который может быть распределен на уровень пользовательского интерфейса и уровень услуг и (в идеале) между модулями.
У нас есть несколько модулей в нашем составном приложении, которые разрабатываются одновременно, и нам нужно иметь возможность развертывать их в любом порядке. В идеале я хотел бы, чтобы наши модули использовали общую модель предметной области, но я боюсь, что при развертывании новой версии модели предметной области вместе с модулем нам потребуется регрессионное тестирование других модулей на предмет соответствия модели предметной области. .
Альтернативой кажется дублирование модели предметной области в каждом модуле, но все это дублирование кода мне кажется забавным. Разработаны ли в отрасли какие-либо передовые практики для таких ситуаций?