Лучший шаблон для реализации Переводчиков между объектом типа БД в объект типа Бизнес - PullRequest
2 голосов
/ 30 июня 2011

В нашем проекте была реализована платформа Entity, и мы плавали по типу объекта Entity по всем слоям. Из-за огромного размера этих объектов мы решили иметь бизнес-объекты и объекты данных. Теперь я в замешательстве, как в 1) Где осуществить перевод этих объектов 2) Как, например, какие-либо модели или практики, которым я должен следовать, чтобы получить лучшие результаты.

* Отредактировано * Спасибо за все ответы, которые я изучаю в Automapper, и обнаружил, что он может хорошо вписаться. Но вместо того, чтобы использовать библиотеку, я хотел создать свой собственный переводчик, который выглядел бы как изобретатель колеса. Но я думаю, что тогда у меня будет намного больше контроля над вещами.

Итак, возвращаясь к первоначальному квестону

  1. На каком слое я должен реализовать свой перевод, то есть у нас есть приложение N-tyre, и есть две философские идеи, одна из которых заключается в том, что у нас должен быть бизнес-уровень, который должен воспринимать его как фасад и реализовывать всю переводческую и другую бизнес-логику там и относиться ко всем остальным слоям как к тупому слою, который не знает о других слоях и сохраняет минимальную ссылку на них, так что слой данных будет отбрасывать те же объекты данных и может быть повторно использован в другом проекте, где бизнес-объект несколько отличается от нашего текущий объект. Вторая школа мысли заключается в том, что уровень данных должен возвращать и принимать бизнес-объекты, что будет ограничивать разработчиков, не являющихся базами данных, от ненужного вызова на уровне базы данных для создания права бизнеса.
  2. Любые шаблоны, которые существуют для такого рода библиотек перевода.

Ответы [ 3 ]

1 голос
/ 30 июня 2011

Это похоже на проблему, с которой сталкиваются многие люди при использовании шаблона MVVM в сочетании с ORM. Automapper (http://automapper.codeplex.com/) - отличная библиотека, обеспечивающая чистый, основанный на соглашениях перевод между типами.

0 голосов
/ 30 июня 2011

Вы можете попробовать DTO и ValueInjecter , если вы перемещаете данные по проводу, или тот же инструмент, если вы используете ViewModels для привязки к представлениям ... AutoMapper тоже отлично

0 голосов
/ 30 июня 2011

Пожалуйста, обратите внимание на следующее: у него действительно хороший обзор всех технологий Microsoft. Хотя это может быть немного сложно, но очень хорошо показывает слои.

Пример приложения N Layer

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...