передача данных в более приложение

Как вы передаете данные в слои в n-уровневом приложении? Я наметил 3 разных метода.

A) общие .net-объекты общие таблицы данных, Hashtables, общие наборы данных, строки, целые и т. д., а затем используют наборы данных для заполнения ваших бизнес-объектов, которые отправляются на уровень пользовательского интерфейса.

альтернативный текст http://img11.imageshack.us/img11/460/generic.png

http://dabbleboard.com/draw?b=eiu165&i=26&c=54eef6f1ac01f03c85919518f4a24e798e57e133

про- Никаких дополнительных слоев не требуетсяПротив- Работать с общими наборами данных и таблицами на бизнес-уровне

B) используя слой сущностей, на который ссылаются другие слои. Этот слой будет содержать либо строго типизированные наборы данных, либо Plain Old C Objects. Объектами будут в основном данные контейнера и очень мало логики. это были бы те же объекты, отправленные на уровень пользовательского интерфейса.

альтернативный текст http://img8.imageshack.us/img8/6454/entities.png

http://dabbleboard.com/draw?b=eiu165&i=6&c=d0c2b346894a96b12bd3867f630e474a2af098fa

про- работа с одинаковыми классами во всех слояхПротив- добавление ссылки на entity.dll во все слои

C) использовать объекты передачи данных (только объекты conatiner), определенные на уровне DataAccess. затем использовать эти объекты для заполнения бизнес-объектов, которые отправляются на уровень пользовательского интерфейса.

альтернативный текст http://img43.imageshack.us/img43/1236/transferp.png

http://dabbleboard.com/draw?b=eiu165&i=27&c=f886efa3f9d5eb4b45ddb02361c79cdcdaec0a9b

про- бизнес-уровень не должен работать с общими классамиПротив- работа с двумя типами объектов, и вам придется гидрировать бизнес-объекты с объектами переноса

У нас была дискуссия на работе, и мы хотели посмотреть, что думает сообщество. Я также добавил ссылку на доску объявлений. пожалуйста, скопируйте и создайте вместо редактирования.
Спасибо

Ответы на вопрос(4)

Ваш ответ на вопрос