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