Deutsch
Germany.ruФорумы → Архив Досок→ Программирование

Предложите структуру данных

430  1 2 3 все
AlexNek патриот20.02.13 19:48
AlexNek
NEW 20.02.13 19:48 
в ответ Murr 20.02.13 19:18
В ответ на:
Дана форма. На форме лежат блоки полей

В ответ на:
а какой-нибудь веб-сервисе с отдачей представляемого ХМЛа

Не понял, разве это не форма ввода/вывода данных?
#21 
Tomasson ёшик20.02.13 19:55
Tomasson
Murr патриот20.02.13 20:25
Murr
NEW 20.02.13 20:25 
в ответ AlexNek 20.02.13 19:48
Не понял, разве это не форма ввода/вывода данных
------
Она самая. Просто ты не задумался откуда там данные и сколько их...
Я вот сейчас сгенерировал приложение... а оно не пошло... даже не компилируется...
Причина - прозаическая - кусок шаблона используется в :
- форме представления единичной записи
- форме представления многих записей
- отдельном контроле для встраивания в другие формы
- может еще где - не все проверял...
не знал, не учел - надо фиксить...
Эээ... Подумай чуток над тем, для чего может требоваться встраиваемый контрол и что получится в результате...
#23 
Murr патриот20.02.13 20:27
Murr
NEW 20.02.13 20:27 
в ответ Tomasson 20.02.13 19:55
Ткни пальцем - какой из ТЕХ классов решает мою проблему?
#24 
Tomasson ёшик20.02.13 20:56
Tomasson
NEW 20.02.13 20:56 
в ответ Murr 20.02.13 20:27
ты сначала проблему опиши так, чтобы она была понятна ;-)
#25 
Murr патриот20.02.13 22:44
Murr
NEW 20.02.13 22:44 
в ответ Tomasson 20.02.13 20:56
Ну давай на пальцах...
Дана Веб-страница или Вин-форма...
На странце/форме в виде блоков размещены управлляющие элементы - лэйблочки, инпуты, картинки и т.п.
Когда все елементы в блоке невидимы - необходимо очистить (сделать доступным для размещения других
элемнтов) занимаемое ими место.
Вопрос - Какая структура данных позволит принять решение об освобождении блока за минимальное
количество операций?
Для вкусности - решение должно быть применимо как на серверной части, так и на клиенте...
#26 
Tomasson ёшик20.02.13 23:01
Tomasson
NEW 20.02.13 23:01 
в ответ Murr 20.02.13 22:44
речь о структуре, которая содержит значения (block, controls), или о структуре, которая содержит значения (controlID, visibility)?
#27 
Murr патриот20.02.13 23:11
Murr
NEW 20.02.13 23:11 
в ответ Tomasson 20.02.13 23:01
А это аккурат тебе решать - все, что требуется - чтобы не было ненужных действий...
Сценарий вида - Я "убил" последний видимый элемент - блок удалился... без сканирования всех елементов...
Одно... даже два.. из возможных решений Я могу написать... но думаю, что есть что-нибудь еще...
#28 
Tomasson ёшик20.02.13 23:26
Tomasson
NEW 20.02.13 23:26 
в ответ Murr 20.02.13 23:11
Тогда имеет смысл ввести еще структуру (blockID, visibility). Но не это главное.
Насколько я понял, у тебя основное действие над структурой - это считывание значений, а не их изменение. Тогда структура выбрана правильно. Самое быстрое считывание у Dictionary<TKey, TValue>
В ответ на:
Do you need fast searches and retrieval of information?
ListDictionary is faster than Hashtable for small collections (10 items or fewer). The Dictionary<TKey, TValue> generic class provides faster lookup than the SortedDictionary<TKey, TValue> generic class. The multi-threaded implementation is ConcurrentDictionary<TKey, TValue>. ConcurrentBag<T> provides fast multi-threaded insertion for unordered data. For more information about both multi-threaded types, see When to Use a Thread-Safe Collection.
=========================
The Dictionary<TKey, TValue> generic class provides a mapping from a set of keys to a set of values. Each addition to the dictionary consists of a value and its associated key. Retrieving a value by using its key is very fast, close to O(1), because the Dictionary<TKey, TValue> class is implemented as a hash table.
Note: The speed of retrieval depends on the quality of the hashing algorithm of the type specified for TKey.

#29 
Murr патриот20.02.13 23:39
Murr
NEW 20.02.13 23:39 
в ответ Tomasson 20.02.13 23:26
Тогда имеет смысл ввести еще структуру (блоцкИД, висибилиты).
------
А как это должно работать??? в вебе?
#30 
AlexNek патриот20.02.13 23:47
AlexNek
NEW 20.02.13 23:47 
в ответ Murr 20.02.13 20:25
В ответ на:
Просто ты не задумался откуда там данные и сколько их

С чего это должно меня интересовать?
Форма на экране просто не может иметь "бесконечное" число данных, хотя если ты их собираешься скроллировать на клиенте....
В ответ на:
Подумай чуток над тем, для чего может требоваться встраиваемый контрол и что получится в результате

У нас требования сильно разные. Для чего вам может требоваться встроенный контрол, думаю никто не додумается в здравом уме
А вообще я в подобных случаях пользую виртуальный грид или проперти грид (только не MS!) Вся динамика определяется состоянием данных автоматом.
#31 
Tomasson ёшик20.02.13 23:53
Tomasson
NEW 20.02.13 23:53 
в ответ Murr 20.02.13 23:39
В ответ на:
А как это должно работать??? в вебе?

а в чем проблема?
где вы вообще храните информацию о visibility?
#32 
Murr патриот21.02.13 00:00
Murr
NEW 21.02.13 00:00 
в ответ AlexNek 20.02.13 23:47
Форма на экране просто не может иметь "бесконечное" число данных
-----
Зато ничто не мешает ей их динамически подгружать... Понимаю - каша... жуткая каша даже для прямой имплементации, а уж в генерации... Ну и что - приходится есть...
никто не додумается в здравом уме
-----
Ну не встроенный, а встраиваемый... включая динамическое встраивание...
Но ты прав - никто, в здравом уме, не будет такой фигней маятся... но Я, по земным меркам, уже давно не в здравом - даже в паспорте написали - с ДРУГОЙ планеты...
#33 
AlexNek патриот21.02.13 00:10
AlexNek
NEW 21.02.13 00:10 
в ответ Murr 21.02.13 00:00
В ответ на:
ничто не мешает ей их динамически подгружать

ну сами данные подгружать еще да, но не layout ведь.
А делать динамический layout это ведь брр, да и ты об этом ничего не писал.
#34 
  L@nixx постоялец21.02.13 00:10
NEW 21.02.13 00:10 
в ответ Murr 20.02.13 22:44
не уверен поможет ли тебе это, так как не знаю вообще что ты там пилишь: в ассоциативном массиве. возьми и засунь к примеру в JSON, не ошибешься. тебе и на клиентской части и на серверной будет просто обращаться к этим данным.
#35 
Murr патриот21.02.13 00:14
Murr
NEW 21.02.13 00:14 
в ответ Tomasson 20.02.13 23:53
где вы вообще храните информацию о висибилиты?
-----
Сейчас - загружается в контролы... из базы данных с учетом условий и значений по умолчанию... если Я помню правильно - там полтора десятка методов, которые разбираются как это делать с теми контролами которые там могут случится... и менять мне их никто не даст...
Но это - статика, начальные значения... То, что я делаю - динамика - вбили в поле строку с 20 буквами "а" будем показывать одно... а с 21 - другое... а не дай боже это Пал-Палыч - вообще третье...
а в чем проблема?
-----
В том что надо по одному экземпляру на сессию... И либо слать на клиента, либо в сессию... оба варианта - не годятся...
#36 
Murr патриот21.02.13 00:19
Murr
NEW 21.02.13 00:19 
в ответ AlexNek 21.02.13 00:10
это ведь брр....
-----
Ну это по первому разу... А когда его делать обучен автомат - уже не брр, а кайф...
но не лаёут ведь.
------
Ты код, генерируемый Телериком, смотрел?
#37 
Murr патриот21.02.13 00:24
Murr
NEW 21.02.13 00:24 
в ответ L@nixx 21.02.13 00:10
в ассоциативном массиве.
-----
Так вопрос именно в том - что именно туда надо засунуть? - перекинуть туда-сюда у меня проблемы никогда не было... а вот нужно ли перекидывать и можно ли этого избежать - тут думать надо...
#38 
  L@nixx постоялец21.02.13 00:34
NEW 21.02.13 00:34 
в ответ Murr 21.02.13 00:24
ну все зависит от того в чем у тебя front идет. откуда я могу это знать, ты спросил какой тип данных я и ответил. :)
#39 
AlexNek патриот21.02.13 17:47
AlexNek
NEW 21.02.13 17:47 
в ответ Murr 21.02.13 00:14
В ответ на:
То, что я делаю - динамика - вбили в поле строку с 20 буквами "а" будем показывать одно... а с 21 - другое... а не дай боже это Пал-Палыч - вообще третье...

Хочешь сказать что layout формы меняется в зависимости от введенных данных? И шеф считает это крутым решением?
#40 
1 2 3 все