2 - список объектов: -)
причины (или, как отмечает Марк, «заслуги»):
- меньший вес
- возможность продлениясписок через пользовательский класс
- возможность использования фильтров / linq для объектов таким образом, чтобы они лучше подходили для бизнес-объектов
- DataTables являются специфическими для Microsoft.Если вам нужно передать их в сторонний, то есть веб-сервис Java, вам нужно будет создать отдельный бизнес-объект для передачи ему.
- проверить текущие реализации OR / m - там не так много таблиц данных..
- если это веб-проект, то сохранение соединения открытым во время чтения результатов в устройстве чтения данных - это что-то вроде «нет-нет»
- DataTables почти умоляет разработчика разместить бизнес-логикуна уровне пользовательского интерфейса.Наличие области бизнес-правил в бизнес-объекте заставляет кодировщика размещать бизнес-правила в нужном месте.
- модульное тестирование ваших результатов - гораздо проще в пользовательском классе, определенном через интерфейс
- строгая типизация свойств (а не строковых индексов для данных полей)
также, использование DataTables напрямую означает привязку себя к базовому источнику данных и его структуре.С точки зрения ремонтопригодности это не очень хорошая идея.Если все, что вам нужно, это список некоторых объектов, это все, что вы должны ему дать (т.е. список).
[править] - это старая статья, но стоит добавитьк «дебатам»:
При рассмотрении DataSets и бизнес-объектов помните, что хорошо спроектированное приложение, использующее бизнес-объекты, уменьшит будущие проблемы при обслуживании приложения, что в конечном итоге приведет к снижению затрат на поддержку.
http://www.kellermansoftware.com/t-articlebusinessobjects.aspx