|
работа с реляционными данными в объектно-ориентированых программмах
|
|||
---|---|---|---|
#18+
Люди,у меня такой серьезный вопрос. Хочу занаться разработкой серьезного програмного продукта который будет представлять собой клиентское приложение для работы с базой данных размещенной на сервере Sybase ASE. Предметная область пока конкретно не определена, но ясно что будут вестись разного рода учеты (например, ведения склада товаров, продажа товаров с магазина и т.д.). Разработка, вернее кодирование, будет вестись на знакомом мне объектно-ориентированом языке С++. Проблема у меня следующая: мы с ребятами никак не можем, определится на счет организации структуры программы. Ясно что будет вестись работа с реляционными данными, но как увязать реляционные данные с описаными в виде класов сущьновтями (например, товар, покупатель, продажа) пока не знаем. Хотелось бы ето сделать как можно правильней, так как у такой програмы должен быть долгий период существования, ее придется постоянно сопровождать, расширять и дописывать. У нас была практика в написании чегото "подобного" но после того когда в коде появилось больше сотни класов мы стали сильно путаться в своем же коде. И как понимаете сопровождение такого продукта не представляется возможным в будущем, а что уж говорить о расширении програмы. Скорее всего это результат плохих знаний в области проектирования програмных продуктов и отсутствие опыта в создании програм такого типа. Если кто знает полезные ссылки, или литературу по даной проблеме, очень прошу - помогите. Особенно интересут именно работа с реляционными данными в объектно-ориентированых программмах. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2004, 15:09 |
|
работа с реляционными данными в объектно-ориентированых программмах
|
|||
---|---|---|---|
#18+
Не пишите так. У вас в коде должны быть сущности: документ, журнал, справочник, поиск, отчёт. И всё будет чики пики. Перемапливание реляционной структуры в объектную и обратно - верный способ заработать фимоз голового мозга и трудности с сопровождением. Юзеру такой маппинг до лампочки. Программа в своём UI должна представлять сущности предметной области - во внутренней структуре вовсе не обязательно. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2004, 15:20 |
|
работа с реляционными данными в объектно-ориентированых программмах
|
|||
---|---|---|---|
#18+
Мы пытались разделить сущьности отвечающие данным ( которыми манипулирует приложение) и сущьности отвечающие за интерфейс с пользователем: - Скажем так, у нас был базовый клас "Документ" от которого был унаследован клас "Накладная", класс накладная был связан со списком товаров, в свою очеред напрашиваеться описание сущьности "Товар" и "Список товара". В свою очередь нап понадобился и "Список Документов". - Потом имело место описание иерархии классов описяния графического интерфейса. Сюда уже входили формочки отображения таких данных как "Накладная" , "Список товара". Но проблема возникала именно при работе с такими данными как "Документ" а именно "Накладная". Тут возникают вопросы : 1) как объект такого класса должен записывать себя в базу? 2) или его всетаки должен записывать в базу "список Накладных"? 3) как при рождении нового объекта этого класа заполнять его данными из БД и кто это должен делать? 4) как формировать SQL запросы, по иерархии , или в конечном класе? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2004, 16:08 |
|
работа с реляционными данными в объектно-ориентированых программмах
|
|||
---|---|---|---|
#18+
Пунктами 1, 2, 3 и 4 должен заниматься persistence layer вашего приложения (не знаю как по русски, уровень сохранения?). Он же по идее должен заниматься и отображением объектов в реляционную структуру и обратно. Т.е сохранение (материализация/дематериализация из/в БД) бизнес объектов - это отдельная задача, требующая отдельного набора классов. Не следует смешивать код с бизнес-логикой и чисто технический код. Все ИМХО. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2004, 16:17 |
|
работа с реляционными данными в объектно-ориентированых программмах
|
|||
---|---|---|---|
#18+
У меня есть класс справочник. Он реализует закачку данных через селек, подкачку одной записи, обновление записи, сортировку и ещё кое что. С ним в тесной связи работает класс(форма) - редактор записей. Базовая форма реализует всю подноготную кроме запросов редактирования и вставки. От него наследуется форма в кторой есть только дизайн и сборка SQL. На более высоком уровне есть Список документов(журнал). Он унаследован от справочника но обеспечивает иконки(статусы), регистрацию форм поиска, регистрацию классов реализующих специальные команды и пр. Он может работать как с редактором записей так и с его наследником - документом. Документ реализует позиции документа, сборку SQL в батч и тд. Ну и дизайн. Есть два вьювера Вьювер справочников с режимами показа и тд. И вьювер журналов - они обеспечивают UI Все работает через интерфейсы. Журналы и справочники ничего не знают о классах редактора/документа а работают через интерфейс. Точно также вьюверы ничего не знают о журналах. Все модули справочников и журналов регистрируют функцию создания себя в специальной фабрике которая обеспечивает кеширование. Приложение мое впринципе ничего кроме как сборкой SQL и показом результатов не занимается. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2004, 16:28 |
|
работа с реляционными данными в объектно-ориентированых программмах
|
|||
---|---|---|---|
#18+
автор="Mike Neck" У меня есть класс справочник. Он реализует закачку данных через селек, подкачку одной записи, обновление записи, сортировку и ещё кое что. В простонародье (или как учил великий Гради Буч) - это класс сущности. автор="Mike Neck" С ним в тесной связи работает класс(форма) - редактор записей. а это ничто иное как клас общения с пользователем, или граничный класс. автор="Mike Neck" На более высоком уровне есть Список документов(журнал). Он унаследован от справочника но обеспечивает иконки(статусы), регистрацию форм поиска, регистрацию классов реализующих специальные команды и пр. так тут ты унаследовал от класса сущности но сделал его граничным (визуальным). Так че то я непонимаю, где тут разграничение у тебя? Где основной "граница-управление-сущность"? --------------- это все критика, теперь по сути. Проблема не в отображении сущности. Это вопрос как говорицца "дизайнерский". Проблема в следующем: Клас сущности должен себя сохранять в базе и восстанавливать себя. Но и это как говорицца не проблема. В конструкторе селект написали + добавили методы апдейта, инсерта, и удаления. Но классы сущности могут унаследоватся от других классов, более того члены этого класса могут быть такими же классами сущностями (простая реляция). Можна тупо написать громосдкие sql запросы, и переопределять эти запросы в наследуемых классах, что очень и очень неудобно. Хотелось бы чтоб это было на автомате. Клас определен и он работает, внезависимости, унаследован ли он, и имеет ли он в своем составе другие классы сущности. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2004, 18:16 |
|
работа с реляционными данными в объектно-ориентированых программмах
|
|||
---|---|---|---|
#18+
Нет. Журнал тоже ничего не показывает. Показывает вьювер журналов. Который с журналами работает через интерфейс. А чтобы и наследование и SQL - не получится. Я через только процедуры работаю. И никаких select просто так не делаю. А если и получится то громоздкость и неочевидность будет конкретная. UI можно наследовать а SQL по большей части нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2004, 09:09 |
|
работа с реляционными данными в объектно-ориентированых программмах
|
|||
---|---|---|---|
#18+
авторНа более высоком уровне есть Список документов(журнал). Он унаследован от справочника но обеспечивает иконки(статусы) , ну а эти "иконки (статусы)"? это как понимать? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2004, 09:26 |
|
работа с реляционными данными в объектно-ориентированых программмах
|
|||
---|---|---|---|
#18+
Mapping Objects To Relational Databases The Design of a Robust Persistence Layer For Relational Databases http://www.ambysoft.com/mappingObjects.html ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2004, 09:55 |
|
работа с реляционными данными в объектно-ориентированых программмах
|
|||
---|---|---|---|
#18+
2 Snake Я конешно понимаю что легче дать ссылку, да еще и на "родном" англиЦком языке. Но хотелось бы хоть какого то обяснения что и как на пальцах, если человек не решал этой проблемы, более того он даже не стыкался с ней, то не вижу смысла советовать, и показывать просто ссылки. --------------------- уйдем немного в дотНет. Тут умные люди ввели уже понятие сериализации обектов. Т.е. их сохранения в некой форме на физическом носителе. Отсюда напрашивается хотение переопределить эти методы под свою дудку, чтоб сохранялись обекты в БД. Как то так. Но как именно, я и хотел узнать тут. Может есть какие то мысли, решения по поводу? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2004, 10:29 |
|
работа с реляционными данными в объектно-ориентированых программмах
|
|||
---|---|---|---|
#18+
Наивные... Я как-то давно читал статейку, в которой описывался такой подход. Состояла они из нескольких статей. Пока дело касалось только теории - все щло гладко и красиво, но когда дело дошло до реализации... статья прервалась. Я смеялся ОЧЕНЬ долго. Не заморачивайтесь со всякими "сучностями". Все хорошо только в теории, а вы еще и на C++ пытаетесь это сделать. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2004, 10:44 |
|
работа с реляционными данными в объектно-ориентированых программмах
|
|||
---|---|---|---|
#18+
наивные не наивные, а невозможного нету. И я неверю, что такого рода задачи не решалитсь на спп! ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2004, 11:13 |
|
работа с реляционными данными в объектно-ориентированых программмах
|
|||
---|---|---|---|
#18+
И я неверю, что такого рода задачи не решалитсь на спп! 1. так вот если почитать, все же, то станет понятно, что такие задачи решались и автор конкретно показывает "грабли" таким вот как мы с вами. ищущим и страждущим ... 2. по поводу: "родном" англиЦком языке нэу камментс. 3. если человек не решал этой проблемы, более того он даже не стыкался с ней, то не вижу смысла советовать, и показывать просто ссылки. извините, больше не буду. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2004, 11:41 |
|
работа с реляционными данными в объектно-ориентированых программмах
|
|||
---|---|---|---|
#18+
что такого рода задачи не решалитсь на спп Решались, и решаются, и будут решаться... До тех пор пока прикладное программирование будет приносить денег больше чем системное - всегда найдутся команды "плюсовиков" (или отдельные личности), которые будут пытаться откусить кусочек пирога от корпоративных потребностей в автоматизации... Но всегда тяжело им будет в конкурентной борьбе с дельфинами, васиковцами и с недавних пор дотнетчиками... Потому как при прочих равных - любой прикладной проект реализованный на плюсах сжирает как минимум в 2 раза больше ресурсов, чем аналогичный - на любой другой RAD-платформе. З.Ы. хотя бы и потому тоже, что приходится тратить время и силы разработчиков на ту же структуру иерархии базовых классов, и те из счастливчиков, которые уже сделали подобную "предварительную работу", навряд ли станут делиться своими наработками вот так вот запросто - в публичном форуме, забесплатно... (они скорее всего молча еще 1 проект на этой структуре реализуют и денежек себе немного заработают). ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2004, 11:43 |
|
работа с реляционными данными в объектно-ориентированых программмах
|
|||
---|---|---|---|
#18+
2 snake искренне извиняюс за столь небрежное высказывание. автор и те из счастливчиков, которые уже сделали подобную "предварительную работу", навряд ли станут делиться своими наработками вот так вот запросто - в публичном форуме, забесплатно... (они скорее всего молча еще 1 проект на этой структуре реализуют и денежек себе немного заработают). ну что ж . у матросов нет вопросов. Все паняна! ;). Еще раз прошу прощенья если кого обидел. п.с. ...всем когда то надо начинать, так почему же и мне не начать? Ушел мыслить. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2004, 14:36 |
|
работа с реляционными данными в объектно-ориентированых программмах
|
|||
---|---|---|---|
#18+
автор = Артем1Т.е сохранение (материализация/дематериализация из/в БД) бизнес объектов - это отдельная задача, требующая отдельного набора классов. Не следует смешивать код с бизнес-логикой и чисто технический код. Все ИМХО. Скажите пожалуйста, как разобраться которые классы подобного приложения должны относится к бизнес-логике, а которые к чисто техническому коду, а которые к интерфейсу с пользователем? Чото я уже совсем запуталься? Но идея мне нравиться! ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2004, 16:05 |
|
работа с реляционными данными в объектно-ориентированых программмах
|
|||
---|---|---|---|
#18+
Я на пальцах не силен объяснять, к сожалению. Видимо, к бизнес-объектам можно отности в данном случае классы "Справочник" и "Элемент справочника" (запись в смысле). К классам UI можно отнести форму отображения справочника. Чисто технического тут нет. К примеру класс TDictionaryDAL (DAL - Data Access Logic) с методами Get_набор_записей_справочника (м.б. несколько), Load_элемент_справочника, Save... ну и т.д. Вообще об этом можно по русски почитать у Лармана, у него в конце книги есть пример проектрования контрура работы с БД. Ну и по ссылкам от snake. Тема весьма объемная и непростая, так просто не расскажешь. Навалом как плюсов такого подхода, так и минусов. блин, пример классов посмотрел не в вашем посте, а у Mike Neck . Ну да ладно, смысл, я надеюсь, ясен. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2004, 16:36 |
|
работа с реляционными данными в объектно-ориентированых программмах
|
|||
---|---|---|---|
#18+
автор = Артем1 Вообще об этом можно по русски почитать у Лармана Артем1 а в инете нигде нету этой книги в электронном виде (спрашиваю, потому что даже не знаю где ее сейчас достать)? Ну или чего то подобного. В английском я конечно не силен. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2004, 19:43 |
|
работа с реляционными данными в объектно-ориентированых программмах
|
|||
---|---|---|---|
#18+
думаю после прочтения этого многое станет понятнее... Приемы объектно-ориентированного проектирования. Паттерны проектирования http://www.books.ru/shop/books/8451 Архитектура корпоративных программных приложений http://www.books.ru/shop/books/156126 ... |
|||
:
Нравится:
Не нравится:
|
|||
22.04.2004, 00:06 |
|
работа с реляционными данными в объектно-ориентированых программмах
|
|||
---|---|---|---|
#18+
2 ignaci Насчет электронной версии не в курсе. Наверняка есть, но я не умею искать такую инфу в нете. :( Тока если попадется чья-нибудь ссылка. А поисковики посылают только в магазины. :( 2 jazzy Первая книга конечно классика, но в ней не найти хорошей теории именно по обсуждаемому вопросу. Вторую не читал, но вообще у Фаулера книги не плохие. Если вы читали, то не могли бы кратенько охарактеризовать ее? Типа мнение о книге, актуальность и т.п. А то эти аннотации на books.ru только курам на смех. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.04.2004, 07:48 |
|
работа с реляционными данными в объектно-ориентированых программмах
|
|||
---|---|---|---|
#18+
первую книгу я упомянул потому как в топике был задал вопрос "как разобраться которые классы подобного приложения должны относится к бизнес-логике, а которые к чисто техническому коду, а которые к интерфейсу с пользователем". если такой вопрос ставится — очевидно человек не знаком с классикой... =) вторая книга больше относится к данному вопросу — там несколько глав как раз посвящены паттернам взамодейсвия с базами. готовых решений вы в ней тоже, естественно, не найдете, но зато получите представление "как жить дальше". примеры реализации паттернов приводятся на джаве и C#, но реализовать их на C++, думаю, не проблема... общее мнение — эту книгу вместе с первой должны прочитать все, кто пишет приложения сложнее домашних страничек... ... |
|||
:
Нравится:
Не нравится:
|
|||
22.04.2004, 15:03 |
|
работа с реляционными данными в объектно-ориентированых программмах
|
|||
---|---|---|---|
#18+
2 ignaci Ларман. Применение UML и шаблонов проектирования. 2-е издание. http://www.books.ru/shop/books/25832 ... |
|||
:
Нравится:
Не нравится:
|
|||
22.04.2004, 15:19 |
|
работа с реляционными данными в объектно-ориентированых программмах
|
|||
---|---|---|---|
#18+
2 jazzy Спасибо за комментарий. Прикуплю этот труд себе в библиотеку. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.04.2004, 15:44 |
|
работа с реляционными данными в объектно-ориентированых программмах
|
|||
---|---|---|---|
#18+
вау! появилось новое поколение килобитовцев 1024 !!! я все же больше готов отнестись с уважением к бедному килобиту который один пуп рвал над непосильной задачей и (я искренне надеюсь) таки понял что к чему... ответ на ваш вопрос ребята - циплят по осени считают - т.е. сумма материального и морального благополучия - показатель правильности или неправильности почти всего в этом мире - проектов идей жизненных путей философий или их отсутствия... гыгы.. творите. не забудьте прислать открытку с первой прибыли ;) ... |
|||
:
Нравится:
Не нравится:
|
|||
22.04.2004, 19:13 |
|
работа с реляционными данными в объектно-ориентированых программмах
|
|||
---|---|---|---|
#18+
Наткнулся я на интересную статейку по этой теме (на русском), вроде дает ответы на большенство моих вопросов . Если кому интересно можете посмотреть ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2004, 12:53 |
|
работа с реляционными данными в объектно-ориентированых программмах
|
|||
---|---|---|---|
#18+
неплохая статья. разве что мелкие глупости в примерах кода встречаются. например, конекшен стринг прописан в методе... =) Код: plaintext 1. 2. 3. 4. 5. 6.
но это, очевидно, для наглядности... хотя мелкими багами в примерах и Фаулер грешит... ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2004, 19:02 |
|
работа с реляционными данными в объектно-ориентированых программмах
|
|||
---|---|---|---|
#18+
неплохая статья. Ребята, ели кому попадется чето подобное не поленитесь указать ссылку. Зарание спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2004, 10:35 |
|
работа с реляционными данными в объектно-ориентированых программмах
|
|||
---|---|---|---|
#18+
Статейка "Проектирование компонентов уровня данных и передача данных между уровнями" (/www.gotdotnet.ru/LearnDotNet/NETFramework/592.aspx) конечно хорошая, но не понятного остается итак много. Может кто уже почитал ее из знающих людей и смогут помоч решить некоторые вопросы. Интересно вот что: в статье приводятся поверхностные описания многих способов организации как DAL-компонентов так и компонентов бизнес-логики, тут говориться что пользовательские классы бизнес-логики можно объединять в наборы данных (например, ArrayList), которые отлично работают с компонентами UI (DataGrid, и т.д.). Это меня порадовало и я решил что лучше всего мне работать именно с ArrayList в котором я смогу хранить объекты своих классов бизнес-логики. Но когда дело подходит до отправки измененных данных в БД в ADO.NET лучше всего работать с DataSet, DataTable, или с масивами DataRow которые передаються OleDbDataAdapter-у. Возникает вопрос, как тут быть, переганять ArrayList в DataSet и наоборот. Помоему это не рационально, и будет замедляться работа программы при перегонке больших масивов данных. Можно наследовать классы бизнес-логики от DataRow , но в таком случае получается маразм в том плане что для каждого уровня иерархии бизнес-логики нужно писать свой клас наследованый от DataTable и вообше тут акое начинается что голова идет кругом. А может все вообще не так надо делать, а как тогда? Помогите выбрать правельный путь? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2004, 11:57 |
|
работа с реляционными данными в объектно-ориентированых программмах
|
|||
---|---|---|---|
#18+
Если использовать свои классы, то перегонка в DataSet избыточна. Плюс к этому надо забыть о всевозможных GetChanges, DataRowState, DataView and etc вкусностях, которые придется реализовывать самому (если конечно надо, но кое что надо обязательно), также как и писать свой DataAdapter для своих классов. Мой тебе совет не заморачивай себе голову, подумай что ты получишь от использования пользовательских классов, и что тебе даст использование DataSet. Конечно UML диаграмма в первом случае получиться очень красивой и описательной. Для подавляющего количества всевозможных задач использование DataSet вполне оправдано, может быть является чуть более громоздким (так как создание DataSet влечет за собой создание кучи подобъектов), но главное самодостаточным и без дополнительного геммороя. Однако если ты хочешь написать СУПЕР-СУПЕР быстрое приложение - то пользовательские классы и DataReader тебе в руки. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2004, 12:15 |
|
работа с реляционными данными в объектно-ориентированых программмах
|
|||
---|---|---|---|
#18+
Sa Однако если ты хочешь написать СУПЕР-СУПЕР быстрое приложение - то пользовательские классы и DataReader тебе в руки. Sa вы хотите сказать, что эсли я собираюсь организовывать бизнес логику на пользовательских классах (т.е. Документ, Накладная, и т.д.) то лучше мне воопше не использовать такие вещи как DataSet, DataTable а пользоваться ArrayList и обновления в базе делать максимум с помощью OleDbCommand без OleDbDataAdapter, и такие вещи как сортировка, поиск мне придется писать самому? Я вообще то думал что это можно как-то совмещать. Но эсли все так печально, то мне здается понятным то направление в котором мне придется двигаться дальше. Как это Microsoft не продумала такие вещи? Получается - объектно-ориентированое проэктирование (ООП) иерархии классов бизнес-логики приложения неполучится использовать для программ которые будут основаны на методологии ADO.NET?! Или я чего-то недопонял? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2004, 14:16 |
|
работа с реляционными данными в объектно-ориентированых программмах
|
|||
---|---|---|---|
#18+
>Sa вы хотите сказать, что эсли я собираюсь организовывать бизнес логику на пользовательских классах (т.е. Документ, Накладная, и т.д.) то лучше мне воопше не использовать такие вещи как DataSet, DataTable а пользоваться ArrayList и обновления в базе делать максимум с помощью OleDbCommand без OleDbDataAdapter, и такие вещи как сортировка, поиск мне придется писать самому? Я рассматриваю это только в контексте "если ты хочешь СУПЕР-СУПЕР быстрое приложение" + добавлю приложение занимающее в памяти мало места. Если для тебя эти вещи не критичны (для меня лично не критичны) ничто не мешает замешать ADO.NET с бизнес-логикой. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2004, 14:33 |
|
работа с реляционными данными в объектно-ориентированых программмах
|
|||
---|---|---|---|
#18+
автор "если ты хочешь СУПЕР-СУПЕР быстрое приложение" + добавлю приложение занимающее в памяти мало места Допустим для меня ресурсы машины и скорость роботы приложения не на самом первом месте по важности. Но меня волнует другое - что если приложение будет интенсивно розширяться (доделываться, дописываться ) и в какой-то момент в коде станет невозможно разобраться изза того что в приложении был плохо спроектирован сам каркас, сама структура, которая облегчает как понимание кода так и дальнейшее его сопровождение? Речь же идет о сложной системе, которая со временем должна раращивать функциональность. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2004, 15:24 |
|
работа с реляционными данными в объектно-ориентированых программмах
|
|||
---|---|---|---|
#18+
Вот и сформулировался вопрос (сам по себе): Как правильно проектировать сложные приложения работающие с БД использующие для доступа к данным ADO.NET? Какова должна быть структура подобних приложений? Или ADO.NET не приспособлена для построения на ее основе серьезных программ (так называемых "толстых клиентов")? Не думаю что это так. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2004, 16:09 |
|
работа с реляционными данными в объектно-ориентированых программмах
|
|||
---|---|---|---|
#18+
Как правильно проектировать сложные приложения работающие с БД использующие для доступа к данным ADO.NET? Какова должна быть структура подобних приложений? Да по всякому можно. Вам нужны конкретные примеры кода? И это тоже есть: http://www.rsdn.ru/article/files/libs/RsdnFrameworkData.xml ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2004, 16:22 |
|
работа с реляционными данными в объектно-ориентированых программмах
|
|||
---|---|---|---|
#18+
SnakeДа по всякому можно. Вам нужны конкретные примеры кода? И это тоже есть: http://www.rsdn.ru/article/files/libs/RsdnFrameworkData.xml Супер! Где же вы раньше были? Клевая штука RSDN, а я об этом первый раз слышу. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2004, 18:14 |
|
работа с реляционными данными в объектно-ориентированых программмах
|
|||
---|---|---|---|
#18+
да здесь я был: /topic/87958&pg=1#639561 ... пытался помочь подойти к проблеме академически. ;) ... |
|||
:
Нравится:
Не нравится:
|
|||
06.05.2004, 09:43 |
|
работа с реляционными данными в объектно-ориентированых программмах
|
|||
---|---|---|---|
#18+
snakeда здесь я был Да но это все на ангельском, а я в нем не очень силен. Если бы это все на руском - было бы здорово. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.05.2004, 13:14 |
|
работа с реляционными данными в объектно-ориентированых программмах
|
|||
---|---|---|---|
#18+
... вообще на форуме есть люди, которым есть, что действительно сказать на эту тему (а не кидаться ссылками ;), но вот заставить их говорить... это сложная задача. да и времени на это необходимо не мало. так ведь, а люди? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.05.2004, 13:22 |
|
работа с реляционными данными в объектно-ориентированых программмах
|
|||
---|---|---|---|
#18+
2 snake имеет ли смысл в очередной раз обсуждать тему, про которую чуть-ли не книги написаны? тем более что действительно, что-бы ее основательно обсудить, надо прилично времени. на том же rsdn-не ветки по 3 десятка страниц, чего повторяться? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.05.2004, 14:48 |
|
работа с реляционными данными в объектно-ориентированых программмах
|
|||
---|---|---|---|
#18+
snake, ты старый мудрый воин :) ... |
|||
:
Нравится:
Не нравится:
|
|||
07.05.2004, 14:49 |
|
работа с реляционными данными в объектно-ориентированых программмах
|
|||
---|---|---|---|
#18+
2hDrummer Я аж оглянулся... это я то!!! ps Console::WriteLine(hDrummer.YearOfBirth()+6); ... |
|||
:
Нравится:
Не нравится:
|
|||
07.05.2004, 15:14 |
|
работа с реляционными данными в объектно-ориентированых программмах
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2004, 07:02 |
|
работа с реляционными данными в объектно-ориентированых программмах
|
|||
---|---|---|---|
#18+
А кто то пользовался уже AtomsFramework? Довольно прикольная библиотека, позволяет описывать отображение бызнес-классов на таблицы БД и ассоциации между ними в настроечном XML-файле. Мне она понравилась, но я пока не смог полностью с ней разобраться, и был бы благодарен человеку который бы смог ответить на некоторые вопросы. Например, как мне сделать выборку (подгрузить из БД в CPersistentCollection) объектов по заданому условию, ну наприменр, выписаные накладные за определенный период, скажем от 01.01.2002 по 12.03.2002. Как єтого добиться? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2004, 16:28 |
|
работа с реляционными данными в объектно-ориентированых программмах
|
|||
---|---|---|---|
#18+
У себя в проекте я сделал так : Структура пользовательских данных отображенна в виде дерева в xml Все сущности выражены в нодах и сссылках. СОздание базы и все базовые фунционалы описаны в соответсвующих элементах. Поэтому пополнение структуры базы происходит без программирования и создания классов вообще. На приложение (15 мег исходников, сделан аналог EM, QA, 3D Explorier, Map component, ...... куча научных прибамбахов ) от силы 50 классов, и то большая часть из них формы. Формально классы С++ вырождены в аналог в XML. Пользователь вправе создавать свoю структуру базы или пользоваться готовыми стандартaми страны или организации. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2004, 00:40 |
|
работа с реляционными данными в объектно-ориентированых программмах
|
|||
---|---|---|---|
#18+
snakeИ это тоже есть: http://www.rsdn.ru/article/files/libs/RsdnFrameworkData.xml Имею реально работающее приложение, написанное с использованием данной либы. Резюме: Вещь удобная, но есть кое какие глюки. В моем случае реализована OnDemand загрузка связей, то есть, если вы получили документ и решили не просматривать его содержимое, то оно загружаться и не будет + кеширование на чтение на слабосвязанных ссылках, гарантирующее, что в памяти у меня всегда будет один экземпляр определенной позиции, в не зависимости, в скольки документах она используется + timestamp на каждый обьект, гарантирующий, что ни кто не изменил запись в БД, пока ее копия была в программе. LepsikУ себя в проекте я сделал так : Структура пользовательских данных отображенна в виде дерева в xml Все сущности выражены в нодах и сссылках. Почему я так не делал: В своих проектах я всю работу с БД организую с использованем хранимых процедур, что позволяет мне оторвать структуру хранения от логики работы + легко разводить права доступа, соответственно, ни какого прямого отображения на структуру данных у меня нет и быть не может. + в моем случае более просто одновременно поддерживать разные версии клиентов, т.к. если нужно расширить функционал, я не изменяю существующую ХП, а делаю новую версию ее. Соответственно, клиент новый клиент работает с новой ХП, старый, со старой, и они оба работают нормально. При этом я могу менять структуру данных, внося исправления в соответсвющие ХП, могу разбивать хранение сущностей на несколько таблиц, а не делать 1 в 1 ... |
|||
:
Нравится:
Не нравится:
|
|||
23.07.2004, 07:34 |
|
работа с реляционными данными в объектно-ориентированых программмах
|
|||
---|---|---|---|
#18+
ignaci Убежден что каждому разработчику клиент-серверных систем будет очень полезно прочесть книгу Роберт Дж. Мюллера "Базы данных и UML". Там есть ответ на ваш вопрос + на кучу других. При это в отличие от некоторых "трудов" - книга сугубо практическая и полезна не только в качестве настольной книги для цитирования в форумах, но и как реальный набор решений для повседневной жизни :) ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2004, 15:09 |
|
работа с реляционными данными в объектно-ориентированых программмах
|
|||
---|---|---|---|
#18+
2ex Antonoff --В своих проектах я всю работу с БД организую с использованем хранимых процедур, что позволяет мне оторвать структуру хранения от логики работы + легко разводить права доступа мой проект затачивается на работу первой пятеркой баз данных и причем это коробочный продукт - должен работать как с одним глупым пользователем так и на индустриальном уровне - работа с данными обьема страны ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2004, 01:52 |
|
работа с реляционными данными в объектно-ориентированых программмах
|
|||
---|---|---|---|
#18+
Есть такая система NEXUS База разработна в объектно-ориентированном стиле и клиент написан на С++. Это все бесплатно и с исходниками. Даже есть неслабая прикладная часть. В основном складской учет, но не только. Не распыляйтесь. Лучше присоединитесь к команде разработчиков. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2004, 15:10 |
|
|
start [/forum/topic.php?all=1&fid=17&tid=1354057]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
57ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
72ms |
get tp. blocked users: |
1ms |
others: | 353ms |
total: | 525ms |
0 / 0 |