|
Шаблон класса для представления справочников
|
|||
---|---|---|---|
#18+
Алексей КОн прекрасен! Пока не будет таскбарности, ни о какой красе не может быть и речь. Ибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2014, 13:09 |
|
Шаблон класса для представления справочников
|
|||
---|---|---|---|
#18+
МСУАлексей КОн прекрасен! Пока не будет таскбарности, ни о какой красе не может быть и речь. Ибо.Нет. Она будет бесить. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2014, 13:10 |
|
Шаблон класса для представления справочников
|
|||
---|---|---|---|
#18+
Алексей КskyANAпропущено... Алексей, а что такое категории? Уникальные коды? Опять путаете с идентификаторами? викиКлассифика́тор, или (от лат. classis — разряд и facere — делать) — систематизированный перечень наименованных объектов, каждому из которых в соответствие дан уникальный код. Классификация объектов производится согласно правилам распределения заданного множества объектов на подмножества (классификационные группировки) в соответствии с установленными признаками их различия или сходства. skyANAпропущено... Какая? Где int-а не хватает для идентификаторов классификатора? Нефтянка.Ну не может быть в классификаторе 2 миллиарда записей. Или это не классификатор, или способ присвоения кодов оставляет большие "дыры". Если второе, то я знаю что такое может быть, но ничего хорошего в этом не вижу, о чём и писал выше.Не может, но: 15481210 . ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2014, 13:25 |
|
Шаблон класса для представления справочников
|
|||
---|---|---|---|
#18+
skyANAАлексей КНу не может быть в классификаторе 2 миллиарда записей. Или это не классификатор, или способ присвоения кодов оставляет большие "дыры". Если второе, то я знаю что такое может быть, но ничего хорошего в этом не вижу, о чём и писал выше .Не может, но: 15481210 . ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2014, 13:29 |
|
Шаблон класса для представления справочников
|
|||
---|---|---|---|
#18+
Алексей КНет. Она будет бесить. С чего бы это вдруг? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2014, 13:36 |
|
Шаблон класса для представления справочников
|
|||
---|---|---|---|
#18+
МСУАлексей КНет. Она будет бесить. С чего бы это вдруг?А почему нет? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2014, 13:42 |
|
Шаблон класса для представления справочников
|
|||
---|---|---|---|
#18+
Алексей КА почему нет? Потому что да ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2014, 13:54 |
|
Шаблон класса для представления справочников
|
|||
---|---|---|---|
#18+
МСУАлексей КА почему нет? Потому что да Да?! ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2014, 13:57 |
|
Шаблон класса для представления справочников
|
|||
---|---|---|---|
#18+
skyANAАлексей Кпропущено... "Казнить нельзя помиловать" (ц) пропущено... Давай лучше я спрошу. :-) 1. По моим наблюдениям, существует масса случаев, когда у объекта поля { int ID, string Name } . Обычно такие объекты отображаются в комбобоксах. Я для таких случаев заготовил специальный класс и DataTemplate для его визуализации. В случаях, когда этот класс не подходит, применяется специальный класс. 2. Применение в классификаторах нецелочисленного типа для первичного ключа встречается достаточно редко. Если кто-то и применяет - Бог ему судья. 3. Guid применяют в качестве первичного ключа в случаях, когда требуется межсерверная уникальность. Такая уникальность для классификаторов обычно не требуется. В чём я не прав?Я бы простые справочники классификаторами не называл. Ну не укладывается у меня классификация дефектов нефтепровода в два поля: int ID, string Name С тремя пунктами от Алексей К сотгласен полностью. Вы по терминологии б договорились и все на свои места стало б. Класификатором - обозвите справочник, которому хватает int ID, string Name. Справочником - которому нужно еще полей дополнительно. В обоих случаях первичным ключем может быть Int. Если справочнику необходимо количество записей больше размерности Int, используем Long. Наличие, окромя первичного ключа, какого-то возможно уникального поля аля ИПН, еще не означает удобства его использования в качестве первичного ключа. Индексы, поиски и протчая лабуда для инта работает быстрее чем для строк. Кроме того, если уж так прет от ИПН, то часто он неизвестен, а работать надо... если его вместо превичного ключа использовать, так только и делов будет кричать: за справкой беги, не продам тебе валидол без ИПН. PS. таббед - всего лишь одна из возможных реализацый интерфейса и к этим 3-м пунктам об организации таблиц в БД имеет отношение, как и любой другой интерфейс - параллельное. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2014, 14:02 |
|
Шаблон класса для представления справочников
|
|||
---|---|---|---|
#18+
Данные в таблицы-классификаторы обычно добавляются на этапе разработки или конфигурирования системы перед её эксплуатацией. В процессе эксплуатации данные в таблицах-классификаторах обычно меняются редко. Для меня это основное отличие классификаторов от неклассификаторов. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2014, 14:35 |
|
Шаблон класса для представления справочников
|
|||
---|---|---|---|
#18+
Парни, ещё раз: 1. идентификатор записи, первичный ключ - это не уникальный код классификатора; 2. идентификатор записи может генерироваться не просто инкрементом и размерности Int-а может не хватить. Да он будет long-ом, но не int-ом. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2014, 14:50 |
|
Шаблон класса для представления справочников
|
|||
---|---|---|---|
#18+
IAppleskyANAпропущено... Я бы простые справочники классификаторами не называл. Ну не укладывается у меня классификация дефектов нефтепровода в два поля: int ID, string Name С тремя пунктами от Алексей К сотгласен полностью. Вы по терминологии б договорились и все на свои места стало б. Класификатором - обозвите справочник, которому хватает int ID, string Name. Справочником - которому нужно еще полей дополнительно. В обоих случаях первичным ключем может быть Int. Если справочнику необходимо количество записей больше размерности Int, используем Long. А вот например "заявки принятые Ивановым за сегодня" - тоже ID и Name, тоже нужны для "комбика" - тоже чтоли справочник? По мне так, этой границы нет вообще, одна и таже таблица иногда может выступать в роли справочника. Иногда справочник это вообще не таблица, а выборка, прчем выборка значений которых нет в таблицах. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2014, 14:58 |
|
Шаблон класса для представления справочников
|
|||
---|---|---|---|
#18+
Алексей К, обратимся к Вашей любимой википедии:Виды классификаторовКлассификаторы разрабатываются как на уровне отдельных предприятий (организаций), так и на уровне государств. Существуют следующие уровни классификаторов: - международные — стандартные классификаторы, используемые по всему миру...ISO коды валют, IATA коды аэропортов, городов и регионов - это ни фига не числовые коды. Но идентификатор записи в вашей конкретной базе, в справочнике валют вполне может быть числовым, потому как идентификатор - это не код классификатора ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2014, 14:59 |
|
Шаблон класса для представления справочников
|
|||
---|---|---|---|
#18+
Хотя с валютой не удачный пример, т.к. стандартом предполагается и буквенный и цифровой коды. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2014, 15:03 |
|
Шаблон класса для представления справочников
|
|||
---|---|---|---|
#18+
skyANAАлексей К, обратимся к Вашей любимой википедии:Виды классификаторовКлассификаторы разрабатываются как на уровне отдельных предприятий (организаций), так и на уровне государств. Существуют следующие уровни классификаторов: - международные — стандартные классификаторы, используемые по всему миру...ISO коды валют, IATA коды аэропортов, городов и регионов - это ни фига не числовые коды. Но идентификатор записи в вашей конкретной базе, в справочнике валют вполне может быть числовым, потому как идентификатор - это не код классификатора Есть первичный ключ, есть остальные поля. Да, в классификаторе могут присутствовать кроме имени короткие обозначения, ну и что? Возьмёт ICAO-классификатор аэропортов: Код: c# 1. 2. 3. 4. 5. 6.
... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2014, 15:18 |
|
Шаблон класса для представления справочников
|
|||
---|---|---|---|
#18+
skyANA1. идентификатор записи, первичный ключ - это не уникальный код классификатора;И тем не менее, в случае с комбобоксом, скорее всего, в качестве SelectedValue будет использоваться именно это поле. Поэтому речь именно про него. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2014, 15:23 |
|
Шаблон класса для представления справочников
|
|||
---|---|---|---|
#18+
skyANA2. идентификатор записи может генерироваться не просто инкрементом и размерности Int-а может не хватить. Да он будет long-ом, но не int-ом. С этим я не спорю, просто мне это не нравится, не более того. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2014, 15:24 |
|
Шаблон класса для представления справочников
|
|||
---|---|---|---|
#18+
Алексей КskyANA2. идентификатор записи может генерироваться не просто инкрементом и размерности Int-а может не хватить. Да он будет long-ом, но не int-ом. С этим я не спорю, просто мне это не нравится, не более того.А мне показалось, что спорите:Алексей КArm79Что касается int - то ММВБ (РТС) уже давно перешло на long. Номера заявок превысили размерность типа.Но это же не для классификаторов. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2014, 15:48 |
|
Шаблон класса для представления справочников
|
|||
---|---|---|---|
#18+
skyANAАлексей Кпропущено... С этим я не спорю, просто мне это не нравится, не более того.А мне показалось, что спорите:Алексей Кпропущено... Но это же не для классификаторов.Заявка не является классификатором, о чём я и сообщил. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2014, 15:53 |
|
Шаблон класса для представления справочников
|
|||
---|---|---|---|
#18+
Алексей КskyANAпропущено... А мне показалось, что спорите:пропущено... Заявка не является классификатором, о чём я и сообщил.И что? Из этого же не следует, что идентификатор записи или код классификатора не может превысить размерность int-а. Ещё как могут. Правда это сразу после выбора метода классификации или метода генерации идентификатора станет ясно ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2014, 16:01 |
|
Шаблон класса для представления справочников
|
|||
---|---|---|---|
#18+
Алексей К, к чему спорить то? Выделять отдельную сущность исключительно под классификаторы - это спорное решение. И тем более затачивать их только под int. Если речь идет именно об ускорении работы и т.п., проще сниппет сделать, и, при необходимости, менять тип свойства ID. Вы же заранее себя ограничиваете, закладывая int в основание иерархии классов. Сейчас мы делаем проект один, так там общие справочники/классификаторы для всех ИТ-систем организации (Master Data Management). Ключи там разнообразные, в т.ч. и строки. К тому же, есть общероссийские классификаторы, которые юзаются as is. Например, Коды ТН ВЭД , где ключом являются римские цифры ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2014, 16:06 |
|
Шаблон класса для представления справочников
|
|||
---|---|---|---|
#18+
skyANAАлексей Кпропущено... Заявка не является классификатором, о чём я и сообщил.И что? Из этого же не следует, что идентификатор записи или код классификатора не может превысить размерность int-а. Ещё как могут. Правда это сразу после выбора метода классификации или метода генерации идентификатора станет ясно Ну и замечательно. Я стараюсь избегать таких способов формирования значений первичного ключа, поэтому в большинстве случаев меня устраивает структура данных { int ID; string Name; } , под которую я заготовил специальный класс и часто его использую. Всё сходится. Думаю, все всё поняли, тему можно закрывать. :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2014, 16:11 |
|
Шаблон класса для представления справочников
|
|||
---|---|---|---|
#18+
Алексей К, да ещё на второй странице все всё поняли: 15481891 ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2014, 16:15 |
|
Шаблон класса для представления справочников
|
|||
---|---|---|---|
#18+
Arm79Алексей К, к чему спорить то?Я и не спорю. :-) Это окружающие меня пытаются убедить в моей неправоте, вероятно, они знают мои задачи лучше меня. :-) Arm79Выделять отдельную сущность исключительно под классификаторы - это спорное решение. И тем более затачивать их только под int. Если речь идет именно об ускорении работы и т.п., проще сниппет сделать, и, при необходимости, менять тип свойства ID. Вы же заранее себя ограничиваете, закладывая int в основание иерархии классов.Если вдруг произойдёт чудо и придётся сменить тип первичного ключа - так и быть, вместо стандартного класса будет использован специальный. Такую замену можно будет произвести по необходимости. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2014, 16:17 |
|
Шаблон класса для представления справочников
|
|||
---|---|---|---|
#18+
Алексей К, Ваша проблема в том, что Вы на основе конкретно своих задач и инфраструктуры делаете обощающие выводы:Алексей КНе думаю, что такая предметная область существует.Это не правильно. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2014, 16:20 |
|
|
start [/forum/topic.php?fid=20&msg=38542342&tid=1403342]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
49ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
52ms |
get tp. blocked users: |
1ms |
others: | 328ms |
total: | 474ms |
0 / 0 |