Следует ли повторно использовать классы данных на разных уровнях и в приложениях или сопоставить их с классами, зависящими от уровня?

Я создаю приложение WPF, которое использует службу WCF для взаимодействия с источником данных. Я использую DI как для клиента, так и для WCF-сервера, чтобы гарантировать развязанный код, но я не уверен, как обрабатывать передачу данных из бэкэнда в пользовательский интерфейс.

Для разделения слоев данные в настоящее время передаются из базы данных в пользовательский интерфейс через несколько этапов сопоставления. На стороне сервера объекты данных сопоставляются с объектами домена, которые снова сопоставляются с контрактами на данные службы. На стороне клиента прокси-классы WCF сопоставляются с моделями просмотра.

Некоторые разработчики утверждают, что это «копирование» данных между кажущимися идентичными классами создает проблему обслуживания, поскольку при внесении изменений необходимо обновлять очень много классов. Вместо этого они говорят, что вы должны использовать общие классы на всех уровнях, поскольку мы контролируем как клиентское приложение, так и службу WCF. Я тоже беспокоюсь об объеме работы и вижу потенциальное снижение производительности, но, с другой стороны, использование общего класса для слоев / абстракций может создать тесную связь, как я это вижу. Какой подход лучше?

8
задан Pål Kristian Tønder 8 February 2012 в 10:10
поделиться