![]() |
|
Модераторы: gambit |
![]()
|
|
| albert21 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 166 Регистрация: 10.1.2006 Репутация: нет Всего: нет |
Предлагаю поделится опытом написания типовых решений для работы с базами данных. На своём, пусть и не большом опыте, могу отметить, что при написании подобных программ возникает куча нюансов, самых разных.В результате программа выглядит не целостной и малочитабельной, возникаю сложности в тестировании и исправлении ошибок.
Хотелось бы услышать предлажения по созданию системы (на уровне проекта), которая бы устранила хаос в исходниках. Что бы данные вводились в одном месте, проверялись в дугом обрабатывались в третьем. Может кто-то классы писал специализированные для таблиц, в которых концентрировались типовые методы (добавить, удалить, изменить, отфильтровать, найти). В этом духе вообщем! Кто-как пишет и организовывает подобные программы? --------------------
http://www.certifications.ru/publicresults.php?tu_id=45939 |
|||
|
||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 8 Всего: 232 |
Кто как могёт, так и пишет. ИМХО.
Общего рецепта тебе вряд ли кто посоветует, а если что и подскажут - это будет скорее всего основано на собственном опыте, приобретённом при решении единичной задачи, т.е. не панацея от всех бед. З.Ы. используй датасеты и датаадаптеры -------------------- ![]() |
|||
|
||||
| FatherFrost |
|
|||
|
Почетный Мороз ![]() ![]() Профиль Группа: Участник Сообщений: 272 Регистрация: 27.4.2005 Где: Крайний север Репутация: нет Всего: 6 |
Поддерживаю mr.DUDA, так как в одном случае отсоединенные компоненты работы с БД подойдут, а вот в каком то случае нет...
-------------------- Задаю много глупых вопросов.... |
|||
|
||||
| albert21 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 166 Регистрация: 10.1.2006 Репутация: нет Всего: нет |
Я так и делаю! На панацею я и не надеялся. сам знаю что её нет --------------------
http://www.certifications.ru/publicresults.php?tu_id=45939 |
|||
|
||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 8 Всего: 232 |
Есть такой подход как ORM (Object-relational mapping), при хорошо написанном нижнем слое он вообще снимает с разработчика все задачи связанные с базами данных, т.к. работа уже идёт на уровне объектов. Почитать можно например тут. Есть ещё язык объектных запросов OQL, разработанный ODMG, его часто используют в ORM. Пример того, чего можно достичь:
Единственная сложность - реализация собственно классов, выполняющих mapping объектов на таблицу базы данных, а также генератора таблиц на основе описания ORM-классов. На codeproject.com есть масса примеров, более или менее удачных, как это можно делать. -------------------- ![]() |
|||
|
||||
| Exception |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 4525 Регистрация: 26.12.2004 Репутация: 2 Всего: 186 |
А ещё есть O/R mapper от Microsoft, который сейчас находится в стадии разработки и называется DLinq Обзор будет, но как только довершу проект... |
|||
|
||||
| Exception |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 4525 Регистрация: 26.12.2004 Репутация: 2 Всего: 186 |
Вот пример использования DLinq:
Он рулит однозначно. |
|||
|
||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 8 Всего: 232 |
Exception, канешна рулит
Тока тут длинк, а я про C# 2.0 -------------------- ![]() |
|||
|
||||
| Exception |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 4525 Регистрация: 26.12.2004 Репутация: 2 Всего: 186 |
||||
|
||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 8 Всего: 232 |
Использовать ли его сейчас ?.. -------------------- ![]() |
|||
|
||||
| Exception |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 4525 Регистрация: 26.12.2004 Репутация: 2 Всего: 186 |
А почему бы нет? Я лично использую... Выйдет релиз - буду юзать его.
|
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, stab, mr.DUDA, Exception. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Базы данных под .NET | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |