powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / DataSet идеальный выбор для представления бизнес-сущностей.
21 сообщений из 21, страница 1 из 1
DataSet идеальный выбор для представления бизнес-сущностей.
    #32373735
Фотография greenapple
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так ли это???

Собственно эта тема меня мучает месяц уже, вот наткнулся на статью , это оттуда цитата, где это прямо написано, везде же все избегают таких вот формулировок

у кого есть какие мнения?
...
Рейтинг: 0 / 0
DataSet идеальный выбор для представления бизнес-сущностей.
    #32373778
Alex Antonoff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подается, как лекарство от всех болезней. А как известно такого не существует. У каждой задачи есть свои требования и ограничения. А дальше идет маркетинг.
...
Рейтинг: 0 / 0
DataSet идеальный выбор для представления бизнес-сущностей.
    #32373887
Фотография hDrummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вообще словосочетание "идеальный выбор" сразу навевает мысли о рекламе чего-то, а не действительно об идеальном выборе.
...
Рейтинг: 0 / 0
DataSet идеальный выбор для представления бизнес-сущностей.
    #32374121
Артем1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
про "идеальный выбор" конечно перегнули, но скорее всего очень удобно.
особенно типизированные.

у меня так было с дельфи. все хотелось сделать как можно более
объектно-ориентированными свои приложения.

пока не понял, что городить весь огород с адаптерами и OO-aware :) компонентами - очередной велосипед. Лучше научится правильно работать с датасетами. Так и с ADO.NET DataSet-ми - почти идеальный выбор :)
...
Рейтинг: 0 / 0
DataSet идеальный выбор для представления бизнес-сущностей.
    #32374591
Фотография greenapple
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пока я, читая всякие статьи и постинги в разных местах нашел немного пищи для размышлений по этой теме:
Общие замечания:
1) все зависит от ситуации - самый точный и самый распространенный, в смысле безошибочный ответ, действительно причин может быть масса от привычек разработчика или идеологии в рамках команды до "по результатам тестирования". Толку от такого ответа мало.
2) объектно-реляционная тема имеет глубокие исторические корни, есть адепты как с объектной стороны (CSLA Лотки), так и с другой (вот этот товарищ из статьи, впрочем, не самый яркий). Я, например, не отягощенный особенно предыдущим опытом разработки, оказался посредине.
3) в данном случае выбор между Датасет и библиотекой классов - это выбор идеологии разработки. Обе идеологии позволяют, на мой взгляд, получить одинаковые результаты на выходе, но рефакторинг одного в другое - все равно что делать заново.
4) оценку целесообразно вести в рамках трех- и более звенной архитектуры, с наличием DAL, помня, что в дотнет извлекать данные из реляционной БД можно либо через DataAdapter, либо через DataReader
Собственно пища, то есть то, что меня путает немного:
а) Есть мнение, что Датасет более более пригодна для мелких проектов, реализация проекта с использованием Датасет, как центрального элемента архитектуры, так например, как сделано в Duwamish 7.0, не позволяет в полной мере реализовать сложную бизнес-логику
б) Быстродействие при использовании Датасет ниже - суждение, как мне кажется, не уровня архитектуры в целом
в) Разработка при использовании Датасет проще и занимает меньше времени
г) Распределенные приложения, сериализация - особая тема, реализуемо и объектной архитектуре и с использованием DataSet, к сожалению не могу понять преимуществ - нет серьезного опыта, чтобы сравнить.
д) я не видел еще, кроме упомянутых микрософтовских и самых примитивных, примеров, где ADO.NET активно используется именно для этих целей. Зато есть примеры построения DAL с использованием Reflection, классы и коллекции "наполняются" из базы данных, ADO.NET используется только для этой цели (Rsdn.Framework.Data, есть и другие). Там иногда (зачем?) даются оговорки, в том смысле, что вроде библиотека классов уже есть, и потому так бывает нужно. Почему?
е) stateless и statefull применительно к универсальности платформы и возможности разработки общей логики для различных интерфейсов. Тут у меня тоже нет опыта, чтобы судить очень подробно, хотелось бы услышать чье-то мнение.
ж) ADO.NET и XML очень переплетены. На мой взгляд, представление объектов в XML - вектор, давний вектор, развития ОО подходов особенно в программировании распределнных систем и в развитии баз данных тоже. То есть, если говорить объект-XML, то и проблем вроде как меньше, чем когда говоришь объект-DataSet. Понятно, о чем я хотел сказать?

Вообщем вопросы о недостатках DataSet по сравнению с библиотекой классов. Что бы такое нельзя сделать средствами ADO.NET, что можно, используя классы. Вот это хотелось бы обсудить.
...
Рейтинг: 0 / 0
DataSet идеальный выбор для представления бизнес-сущностей.
    #32375087
Фотография greenapple
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
что все молчат?

Эдвард МакЛинн
Из книги "К. Г. Юнг"
С психиатрической точки зрения Юнг разговаривал сам с собой, и весь этот опыт является примером шизофрении, психотическими симптомами

я тут подумал еще, что через призму Framework, typed DataSet тоже иерархия классов, с коллекциями, методами и свойствами. То есть ее вполне можно модифицировать под свои задачи, перенеся какие-то Business Rules "внутрь". Отсюда по меньшей мере один поверхностный, внеархитектурный, но абслютный вывод - DataSet всегда медленнее, как ни крути! Так что пункт б) имеет право на жизнь.
...
Рейтинг: 0 / 0
DataSet идеальный выбор для представления бизнес-сущностей.
    #32375400
Фотография hDrummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторчто все молчат?

читаем :)
...
Рейтинг: 0 / 0
DataSet идеальный выбор для представления бизнес-сущностей.
    #32375452
Фотография snake
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а кто-то просто занят .
...
Рейтинг: 0 / 0
DataSet идеальный выбор для представления бизнес-сущностей.
    #32377828
Фотография greenapple
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей Платонов ...Вощев согласен был и не иметь смысла существования, но желал хотя бы наблюдать его в веществе тела другого, ближнего человека...

вот еще информация о System.Data.ObjectSpaces, по поднятой теме: Overview of the ObjectSpaces Architecture

там же ... и сердце обратило внимание на жар жизни вокруг костра классовой борьбы и произошел бы энтузиазм!

о как, по теме :)
...
Рейтинг: 0 / 0
DataSet идеальный выбор для представления бизнес-сущностей.
    #32377830
Фотография greenapple
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
DataSet идеальный выбор для представления бизнес-сущностей.
    #32378707
Dronopotamus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2greenaple: тнкс за ссылки.\r
Кто использует custom бизнесс-обьекты, раскажите плз в кратце как они реализованы, хоть в общих чертах! \r
Как представленны данные? (Просто набор свойств, коллекции обьектов или датасеты, и т.д...)\r
Как создаются новые классы? (Руками наследуются или автоматически через ремотинг, а может есть конструкторы классов)\r
Содержат ли они логику (проверка доступа, валидация, етс)?\r
И ещё, не могли бы вы сказать что-нибудь по вот этой теме \r
Отображение связей в своих классах данных.\r
Я теории почитал прилично (by Microsoft :)), а вот примеры у них куцие, мне бы статистику собрать хоть минимальную, как люди пишут.\r
Не дайте погибнуть в неведении :).
...
Рейтинг: 0 / 0
DataSet идеальный выбор для представления бизнес-сущностей.
    #32378726
Артем1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 greenapple
Спасибо за ссылки
...
Рейтинг: 0 / 0
DataSet идеальный выбор для представления бизнес-сущностей.
    #32378782
Фотография greenapple
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
пожалуйста,

2 Dronopotamus
погибнуть не погибнешь, конечно. Просто позиция в один момент сама появится :)

Андрей ПлатоновИнженер Прушевский уже с двадцати пяти лет почувствовал стеснение своего сознания и конец дальнейшему понятию жизни, будто темная стена предстала в упор перед его ощущающим умом. И с тех пор он мучился, шевелясь у своей стены, и успокаивался, что, в сущности , самое срединное, истинное устройство вещества, из которого скомбинирован мир и люди, им постигнуто, - вся насущная наука расположена еще до стены его сознания, а за стеною находится лишь скучное место, куда можно и не стремиться. Но все же интересно было -- не вылез ли кто-нибудь за стену вперед.
...
Рейтинг: 0 / 0
DataSet идеальный выбор для представления бизнес-сущностей.
    #32379262
Фотография snake
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
DataSet идеальный выбор для представления бизнес-сущностей.
    #32407376
Akzhan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Лучше DataSet, чем свой велосипед.

А через год бум смотреть на создание нового поколения с использованием ObjectSpaces.

PS. На сегодня существует громадный выбор ORM's, начиная с Together.
...
Рейтинг: 0 / 0
DataSet идеальный выбор для представления бизнес-сущностей.
    #32407515
funikovyuri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
во-первых - очень толковая статья (как и весь сайт www.builder.com)

во-вторых - общественность опять спутала мягкое с теплым - в статье сказано

Datasets are the ideal choice for representing your BEs

Вот только чтобы ее правильно понять необходимо было внимательно прочитать Business entity basics

Там в частности простым английским языком сказано - что BE это штука, которая
- BEs are containers that allow you to pass data between the presentation tier, the business tier and the DAL components
- they are not objects that should be involved in transaction management
Т.е. вот как они (и я) представляют себе архитектуру ИС

СУБД <---> BE tier (посредством DAL) <----> Business tier <---> Presentations tier

Так вот - то о чем вы говорите - это объекты из Business tier - а не BE
Т.е. просто вместо традиционного R/O из БД в объекты мы имеем R/O из BE в Business tier objects
...
Рейтинг: 0 / 0
DataSet идеальный выбор для представления бизнес-сущностей.
    #32407804
Фотография greenapple
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а если объект из BL, по твоему или по ихнему, передается в DAL на сохранение, он что становится BE только на время своего пути? Сущность она и есть сущность в концептуальной модели, она часть предметной области, далее уже это именованный класс, с поведением и свойствами, он же может писать что угодно, он может вообще что-то захотел сказать такое, что раньше никто не говорил, и поэтому неясно выразился :)
Ты вряд ли захочешь, проектируя приложение, описывать одну и ту же сущность дважды, один раз - чтобы сущность была объектом класса, а второй раз - чтобы передать ее между слоями. ADO.NET, а именно DataSet универсальна, позволяет сделать BL относительно просто, "отсоединенность" же делает такую архитектуру очень похожей на иерархию классов со свойствами-коллекциями. Это первая причина недопонимания. Вторая причина, то что намереваются исправлять в будущем (ObjectSpaces и Yukon), то что ADO.NET место стыковки с объектной архитектурой осталась как бы со старых времен, вернее новые времена еще не наступили, что само по себе результат неожиданный, это на фоне то всех инноваций. И получается, нужен как бы отдельный слой для объектов ADO.NET, и это при том, что Dataset, DataTable можно вывести напрямую к UI, не заморачиваясь с написанием классов и пр. Третья причина - столь широкий выбор при недостатке информации или ее неперивариваемом избытке, как угодно, делает выбор сложнее, а не проще.
...
Рейтинг: 0 / 0
DataSet идеальный выбор для представления бизнес-сущностей.
    #32408050
funikovyuri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а если объект из BL, по твоему или по ихнему, передается в DAL на сохранение, он что становится BE только на время своего пути?

Нет - он всегда находится в BE - вернее его реляционная проекция. Т.е. BE - это что-то типа локальной копии участка БД.

Да еще - ADO.Net схемы - это именно копии БД - они ни сколько не похожи на диаграммы классов из Business tier. Например - возмем отношение наследования между 2мя сущностями SuperA->A в РСУБД это скорее всего будут 2 таблицы с отношением 1...1 - тоже самое будет и в ADO.Net схеме. А вот уже в Business tier'е будут 2 класса с соотвествующим набором атрибутов и собственным поведением

Здесь статья и мое видение проблемы несколько различаются так как они считают что
In most cases, the business entities that you create won't have a one-to-one correspondence with the underlying database tables.
Но так или иначе - их назначение - передавать данные в Business и Presentations tiers
...
Рейтинг: 0 / 0
DataSet идеальный выбор для представления бизнес-сущностей.
    #32549422
Ustazz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DataSet достаточно универсален, но в первую очередь ориентирован на быструю разработку приложений в стиле Delphi - накидали таблиц на форму и - готово. В этом случае представление данных в виде объектов-таблиц и отношений естественно, так как другой информации о них нет. Если же разработка ведется на основе объектов и отношений между ними, а не способа их хранения, DataSet неудобен.
...
Рейтинг: 0 / 0
DataSet идеальный выбор для представления бизнес-сущностей.
    #32558065
qu-qu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Странно, а почему весь высказавшийся тут народ прошел мимо вот этой статьи, которая (кстати) присутствует в ссылках на данном же сайте...

Проектирование компонентов уровня данных и передача данных между уровнями

В ней, конечно, "воды" многовато, и примерчики "оставляют желать" как это часто водится у мелко-мягких... однако же по каждому из более-менее "распространенных" способов представления ВЕ (универсальные DataSet-ы, типизированные DataSet-ы, XML-представления, самостоятельные CustomObjects с CRUD-методами и без) - приведены характерные для него преимущества и недостатки.

З.Ы. даже если кто-то не согласен с приведенными в этой статье оценками, то там есть хотя бы - "обширное поле для дискуссии" и не надо придумывать ничего самому...
...
Рейтинг: 0 / 0
DataSet идеальный выбор для представления бизнес-сущностей.
    #32558082
Sa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
qu-quСтранно, а почему весь высказавшийся тут народ прошел мимо вот этой статьи, которая (кстати) присутствует в ссылках на данном же сайте...

Проектирование компонентов уровня данных и передача данных между уровнями


Ага это ссылка есть в этой (более популярной) теме:
/topic/87958&pg=1


Код: plaintext
 user id  =  S a
...
Рейтинг: 0 / 0
21 сообщений из 21, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / DataSet идеальный выбор для представления бизнес-сущностей.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]