|
1057 / 864 / 195
Регистрация: 31.03.2010
Сообщений: 2,521
|
|
Организация данных и связей в клиентском приложении WinForms11.09.2012, 10:08. Показов 1859. Ответов 5
Метки нет (Все метки)
При работе над клиентским приложением возникли некоторые трудности с пониманием как реализовать данные в большом приложении.
Уважаемые гуру подскажите как реализовать нижеследующие требования к организации данных в приложении. У меня есть некоторые соображения, однако изучение мсдн, к сожалению не дает в полной мере осознать полной картины реализации. в процессе работы над приложением возникли следующие задачи с которыми возникли трудности: 1. Организация единых данных для приложения(в т.ч. между модулями программы dll) - в приложении используются справочные данные, которые загружаются с бд в разных модулях программы(список организаций, список товаров и т.д.) как организовать ЕДИНЫЙ ИСТОЧНИК ДАННЫХ для всех модулей программы, чтоб данные не дублировались? (как я реализовал до этого - при необходимости создавал объект DataTable и привязывал его к контролу(комбобокс, листбокс) - но это каждый раз лишнее обращение к БД и заполнение оперативки повторяющимися данными. правда в пределах модуля реализую привязку BindingSourse но это не решает вопрос как объединить данные между модулями) 2. В дополнение к первому - как реализовать синхронизацию данных при обновлении их прочими модулями/другими клиентами. Опять-таки таблицы используются разными контролами и в разных модулях. 3. Как реализовать связь между таблицами. Чтоб при смене текущего элемента в родительской происходила фильтрация или прочие изменения в дочерних КОНРОЛАХ. не понимаю до конца механизма DataRelation потому использую событие CurrentItemChange в BindingSourse. Возможно, есть более изящное решение данного функционала. 4. BindingSourse множатся как грибы и работа с ними становиться очень громоздкой. Сложно увидеть все связи между различными BindingSourse. Как вариант решения рассматриваю создание отдельных классов для отдельных блоков данных. Однако это все равно весьма громоздким представляется. Добавлено через 21 час 38 минут неужто никто не сталкивался с данными задачами? или это информация под грифом "совершенно секретно" ??
0
|
|
| 11.09.2012, 10:08 | |
|
Ответы с готовыми решениями:
5
Удаление из БД в клиентском приложении Авторизация в клиентском приложении Правильная организация цепочки Tasks в бесконечном цикле (WinForms) |
|
|
|||||
| 11.09.2012, 10:30 | |||||
|
Добавлено через 1 минуту Добавлено через 1 минуту Добавлено через 1 минуту
0
|
|||||
|
1057 / 864 / 195
Регистрация: 31.03.2010
Сообщений: 2,521
|
|
| 12.09.2012, 14:51 [ТС] | |
|
все так и делаю как выше сказанно .. но хочется чтоб все было проще и быстрее ...
похоже прийдется реализовать и пробовать свои идеи ... а имено фабрики и билдеры для BindingSource и контейнер для них. просто надеялся что это все рализовано в .NET и я просто не знаю об этом. повторю первый вопрос. у меня есть программа-оболочка, которая по сути предоставляет только подключение к бд и логин пользователей и подключение модулей. весь функционал возложен на программные модули-dll, которые непосредственно и обращаются к бд и используют данные которые пересекаются и повторно используются в разных модулях. естественно каждый из модулей делает СВОЮ копию таблиц БД. и статик DataTable не решает всей проблемы. более того разные модули не могут между собой обмениваться информацией об обновлении даных. Допустим, я вынесу все DataTable в отдельный модуль но я не представляю как заставить все модули обращаться с одним и тем же модулем-контейнером данных(чтоб модуль не запускал свой экземпляр контейнера) и как предоставить им доступ к данным без копирования из модуля.
0
|
|
|
1057 / 864 / 195
Регистрация: 31.03.2010
Сообщений: 2,521
|
|
| 12.09.2012, 16:21 [ТС] | |
|
я прекрасно знаю что такое static. в одном модуле нужна таблица поставщиков на 3 формах? - создаем 1 статик DataTable и контрол каждой формы биндим к этой таблице.
однако есть другой модуль который ничего не знает об уже существующей таблице в другом модуле и снова загрузит данные в СВОЮ статик таблицу. от чего я и хочу избавить но не выходит.
0
|
|
|
|
|
| 12.09.2012, 20:41 | |
|
0
|
|
| 12.09.2012, 20:41 | |
|
Помогаю со студенческими работами здесь
6
Организация вывода данных в приложении Как создать авторизацию MS SQL Server в клиентском приложении на MS Access?
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2.
Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом.
В. . .
|
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2.
Задача: отобразить спецтехнику, которая на данный момент находится в ремонте.
Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
|
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
|
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
|
|
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут
Суть:
- Группа наркоманов из 10 человек.
- Только один инфицирован ВИЧ.
- Колются одной иглой.
- Колются раз в день.
- Колются последовательно через. . .
|
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
|
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
|
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . .
а удачный момент так и не приходит.
|