Лучший способ моделирования объектов из DAL на уровне представления? - PullRequest
1 голос
/ 17 июля 2011

У меня есть решение ASP.NET MVC с тремя проектами:

  1. SquarkMVC
  2. SquarkBLL
  3. SquarkDAL

Уровень SquarkDAL имеет классы Linq2SQL для каждого объекта в БД. BLL ссылается на DAL для ведения бизнес-логики в БД.

У меня такой вопрос ... без ссылки на DAL на уровне MVC, как мне моделировать объекты БД на уровне MVC? Например, если у меня есть форма регистрации на уровне MVC, каков наилучший способ получить эту информацию, передать ее на бизнес-уровень, который затем передает ее на уровень данных? Я не хочу, чтобы слой MVC знал что-либо о DAL.

Я нашел этот ответ в другом сообщении ... общепризнано, что лучший способ преодолеть это - создать объект переноса для передачи информации из уровня представления в бизнес-уровень, который затем преобразует информацию в классы сущностей, используемые DAL?

Надеюсь, это имеет смысл.

1 Ответ

0 голосов
/ 17 июля 2011

Использование объектов является распространенным способом сделать это.Обычно DTO (объекты передачи данных) являются «тупыми» POCO, имеющими набор свойств, и действуют как «структура», но, если вы наденете на них проверку и больше логики (логика представления), вы получите модель представления и вы можете использовать их для работы с контроллером.В этом случае следует использовать модель (бизнес-уровня).

Более того, бизнес-уровень никогда не должен иметь ссылку на DAL, поскольку ваша бизнес-модель должна быть независимой от хранилища.Вместо этого уровень доступа к данным должен ссылаться на модель и выбирать правильный путь для сохранения.Вы можете достичь этого с помощью шаблона Repository.

В любом случае, существует множество книг о доменно-ориентированном дизайне.

...