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