Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Предок для класса с записью в БД [D7]


Страницы:   1 2 3

kosm ©   (2003-10-09 10:00:00) 

Уважаемые Мастера!
Подскажите плиз, какого предка лучше (или однозначно) выбрать, для класса, который бы мог сохранять данные в БД. Тип БД пока не важен, но скорее всего это будет MSSQL или IB.
Пока напрашивается TDataset. Если использовать его, то какие методы придется переписывать?

PS: Посоветуйте хорошую литературу по данной тематике, плиз. Если в эл.виде такая где-то пробегала, то тоже не плохо :)

СПАСИБО!


Sergey_Masloff   (2003-10-17 12:28:00) [1]

kosm (17.10.03 11:10) [54]
>А если работать через коллекции объектов (а не TDataset), то >тогда это уже будет тот же BOLD по сути дела или я ошибаюсь? :)
не ошибаешься


kosm   (2003-10-17 11:10:00) [2]

Спасибо! Получил и описал ответ уже :)

А если работать через коллекции объектов (а не TDataset), то тогда это уже будет тот же BOLD по сути дела или я ошибаюсь? :)


Sergey_Masloff   (2003-10-16 22:25:00) [3]

kosm (16.10.03 11:15) [52]
Блин, писал-писал а сообщение "слишком длинное". Ладно, кину в мыло.


kosm   (2003-10-16 11:15:00) [4]

2Sergey_Masloff
Не совсем понял, как пользователь работал с коллекциями через датасет. Т.е. через обычные TDataset"ы (TQuery, TADO... и тп)?
Сергей, а пример реализации простенького класса "бизнес-объекта" не можешь кинуть (элемента какого нить справочника или тп)? Очень интересно как это выглядит.
А писанины я не боюсь... :)
СПАСИБО!


Sergey_Masloff   (2003-10-15 20:38:00) [5]

>Интересно, как ты выводил список таких объектов.
>За совет - спасибо, я похоже тоже к тому склоняюсь...
Ну у меня есть так скажем "крупные" бизнес-объекты, каждый из которых включает в себя множество дочерних и связаных - все "дочки" висели в виде linked list, некоторые в виде деревьев (а деревья часто имели общие "листья" - через SQL с этим было работать трудновато).

С коллекциями таких объектов пользователь работал, естественно, через датасеты и SQL потому что тащить весь объект когда пользователь интересуется одним из пары тысяч атрибутов - просто глупо. А вот когда нужный "бизнес-объект" найден он поднимался в объект - и понеслась ;-) Использовалось и наследование и полиморфизм и много чего - вобщем, мне нравится как это работает но ОЧЕНЬ много руками писать рутинного кода. Я даже подумывал написать генератор кода но потом текучка заела бросил на стадии работающего макета.


kosm   (2003-10-15 13:34:00) [6]

2Vuk
Еще раз пробежался по твоим ссылочкам - чего-то как-то не весело. Там обсуждается ООП подход к БД в целом. Еще не все дочитал, но чего-то сдается мне, что действительно не стоит заморачиваться на все это :)
На самом деле я сам толком не представляю что из себя будет представлять объект и как будут представлены результаты запросов.
Так если прикинуть, то единичные записи в виде объектов, действительно интересно. А вот результат запроса в виде коллекци к примеру. Как их выводить в грид? Походу заморочек много будет :(
Вот если результаты запросов будут свойства типа Dataset, то было бы куда интереснее.

2Polevi
Похоже зря я все это затеял? :(
На самом деле, наследование и полиморфизм были бы просто супер, но достаточно было бы просто объеденить методы работы с сущьностью в одном классе - все ж было бы удобнее наверно?

2Sergey_Masloff
Интересно, как ты выводил список таких объектов.
За совет - спасибо, я похоже тоже к тому склоняюсь...


Sergey_Masloff   (2003-10-13 21:36:00) [7]

kosm (13.10.03 18:18) [42]
>Просто хочу отображение данных из СУБД в объекты.
>Объекты будут создаваться ручками (например при создании формы >правки сущности).
>Схема примерно такая:
>DB -> Obj -> NON DBAware Controls -> Obj -> DB
У меня есть такой функционирующий проект. Несколько сотен установок, работает уже пару лет. Мой совет - не заморачивайся.
Вот это:
>DB -> Obj -> NON DBAware Controls -> Obj -> DB
потребует много рутинной писанины, а то что получится имеет преимущество перед обычной схемой с датасетами только в очень ограниченом числе случаев. Так что перед тем как это писать советую очень сильно подумать - нужно ли оно тебе.

Если есть конкретные вопросы - спрашивай.


Vuk   (2003-10-13 21:24:00) [8]

ещ Polevi:
>вы согласны что с объектами удобнее работать чем с набором
>данных в TDataset ?
Что в данном случае представляет из себя объект? Это только средство облегчение доступа к полям данных или нечто большее? Если нечто большее, то как это нечто функционирует?


Polevi   (2003-10-13 21:14:00) [9]

>Vuk © (13.10.03 19:02) [46]
вы согласны что с объектами удобнее работать чем с набором данных в TDataset ? получаем преимущества ООП - наследование и полиморфизм


Vuk   (2003-10-13 19:02:00) [10]

Я могу только советовать думать. :o)

Вопрос в том, для чего именно нужно объектное представление данных и что, как Вы думаете, оно Вам даст. Ведь абстрагирование от конкретной БД может быть достигнуто и при обычном подходе. DataSet - чем не абстракция?

Кстати, чем будут с Вашей точки зрения являться результаты запросов в которых могут быть части данных отдельных сохраненных "объектов"?


kosm   (2003-10-13 18:50:00) [11]

2Vuk
А как Вы посоветуете подойти к этому делу?
А если DBAware?


Vuk   (2003-10-13 18:40:00) [12]

Кстати, при неиспользовании DBAware controls рискуете потерять много удобных и полезных возможностей...


Vuk   (2003-10-13 18:37:00) [13]

То есть хотите представления наборов данных в виде коллекций?


kosm   (2003-10-13 18:18:00) [14]

2Vuk
Просто хочу отображение данных из СУБД в объекты.
Объекты будут создаваться ручками (например при создании формы правки сущности).
Схема примерно такая:
DB -> Obj -> NON DBAware Controls -> Obj -> DB


Vuk   (2003-10-13 16:50:00) [15]

Можно поподробнее о том, что Вы хотите сделать?
Каким образом возникают объекты в приложении? Какие будете использовать средства отображения (DB-контролы или что-то иное)? Каково взаимодействие с DataSet?


kosm   (2003-10-13 16:47:00) [16]

Polevi ау :)


kosm   (2003-10-13 11:59:00) [17]

Да, похоже я всех достал... :))


kosm   (2003-10-13 10:58:00) [18]

Все время использовал копоненты (ну максимум создавал классы от TObject), не задумывался о иерархии классов и наследовании, полиморфизме, в общем об ООП как таковом - кидай на форму, выставляй что надо и как надо и все. Но это ИМХО не правильно, надо двигаться...


kosm   (2003-10-13 10:55:00) [19]

Вот именно... Чуствую я, что чего-то недопонимаю :)


Polevi   (2003-10-13 10:53:00) [20]

причем тут TQuery


Страницы:   1 2 3

Наверх

Титульная страница Поиск, карта сайта Написать письмо