powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Шаблон класса для представления справочников
25 сообщений из 127, страница 4 из 6
Шаблон класса для представления справочников
    #38541945
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КОн прекрасен!
Пока не будет таскбарности, ни о какой красе не может быть и речь. Ибо.
...
Рейтинг: 0 / 0
Шаблон класса для представления справочников
    #38541949
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУАлексей КОн прекрасен!
Пока не будет таскбарности, ни о какой красе не может быть и речь. Ибо.Нет. Она будет бесить.
...
Рейтинг: 0 / 0
Шаблон класса для представления справочников
    #38541977
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КskyANAпропущено...
Алексей, а что такое категории? Уникальные коды? Опять путаете с идентификаторами? викиКлассифика́тор, или (от лат. classis — разряд и facere — делать) — систематизированный перечень наименованных объектов, каждому из которых в соответствие дан уникальный код. Классификация объектов производится согласно правилам распределения заданного множества объектов на подмножества (классификационные группировки) в соответствии с установленными признаками их различия или сходства.

skyANAпропущено...
Какая? Где int-а не хватает для идентификаторов классификатора? Нефтянка.Ну не может быть в классификаторе 2 миллиарда записей. Или это не классификатор, или способ присвоения кодов оставляет большие "дыры". Если второе, то я знаю что такое может быть, но ничего хорошего в этом не вижу, о чём и писал выше.Не может, но: 15481210 .
...
Рейтинг: 0 / 0
Шаблон класса для представления справочников
    #38541982
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAАлексей КНу не может быть в классификаторе 2 миллиарда записей. Или это не классификатор, или способ присвоения кодов оставляет большие "дыры". Если второе, то я знаю что такое может быть, но ничего хорошего в этом не вижу, о чём и писал выше .Не может, но: 15481210 .
...
Рейтинг: 0 / 0
Шаблон класса для представления справочников
    #38541990
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КНет. Она будет бесить.
С чего бы это вдруг?
...
Рейтинг: 0 / 0
Шаблон класса для представления справочников
    #38541997
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУАлексей КНет. Она будет бесить.
С чего бы это вдруг?А почему нет?
...
Рейтинг: 0 / 0
Шаблон класса для представления справочников
    #38542030
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КА почему нет?
Потому что да
...
Рейтинг: 0 / 0
Шаблон класса для представления справочников
    #38542032
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУАлексей КА почему нет?
Потому что да Да?!
...
Рейтинг: 0 / 0
Шаблон класса для представления справочников
    #38542041
IApple
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
skyANAАлексей Кпропущено...
"Казнить нельзя помиловать" (ц)
пропущено...
Давай лучше я спрошу. :-)

1. По моим наблюдениям, существует масса случаев, когда у объекта поля { int ID, string Name } . Обычно такие объекты отображаются в комбобоксах. Я для таких случаев заготовил специальный класс и DataTemplate для его визуализации. В случаях, когда этот класс не подходит, применяется специальный класс.

2. Применение в классификаторах нецелочисленного типа для первичного ключа встречается достаточно редко. Если кто-то и применяет - Бог ему судья.

3. Guid применяют в качестве первичного ключа в случаях, когда требуется межсерверная уникальность. Такая уникальность для классификаторов обычно не требуется.

В чём я не прав?Я бы простые справочники классификаторами не называл. Ну не укладывается у меня классификация дефектов нефтепровода в два поля: int ID, string Name

С тремя пунктами от Алексей К сотгласен полностью. Вы по терминологии б договорились и все на свои места стало б.
Класификатором - обозвите справочник, которому хватает int ID, string Name.
Справочником - которому нужно еще полей дополнительно.
В обоих случаях первичным ключем может быть Int. Если справочнику необходимо количество записей больше размерности Int, используем Long.
Наличие, окромя первичного ключа, какого-то возможно уникального поля аля ИПН, еще не означает удобства его использования в качестве первичного ключа. Индексы, поиски и протчая лабуда для инта работает быстрее чем для строк.
Кроме того, если уж так прет от ИПН, то часто он неизвестен, а работать надо... если его вместо превичного ключа использовать, так только и делов будет кричать: за справкой беги, не продам тебе валидол без ИПН.

PS. таббед - всего лишь одна из возможных реализацый интерфейса и к этим 3-м пунктам об организации таблиц в БД имеет отношение, как и любой другой интерфейс - параллельное.
...
Рейтинг: 0 / 0
Шаблон класса для представления справочников
    #38542093
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Данные в таблицы-классификаторы обычно добавляются на этапе разработки или конфигурирования системы перед её эксплуатацией. В процессе эксплуатации данные в таблицах-классификаторах обычно меняются редко. Для меня это основное отличие классификаторов от неклассификаторов.
...
Рейтинг: 0 / 0
Шаблон класса для представления справочников
    #38542138
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Парни, ещё раз:

1. идентификатор записи, первичный ключ - это не уникальный код классификатора;
2. идентификатор записи может генерироваться не просто инкрементом и размерности Int-а может не хватить.

Да он будет long-ом, но не int-ом.
...
Рейтинг: 0 / 0
Шаблон класса для представления справочников
    #38542162
dma_caviar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IAppleskyANAпропущено...
Я бы простые справочники классификаторами не называл. Ну не укладывается у меня классификация дефектов нефтепровода в два поля: int ID, string Name

С тремя пунктами от Алексей К сотгласен полностью. Вы по терминологии б договорились и все на свои места стало б.
Класификатором - обозвите справочник, которому хватает int ID, string Name.
Справочником - которому нужно еще полей дополнительно.
В обоих случаях первичным ключем может быть Int. Если справочнику необходимо количество записей больше размерности Int, используем Long.


А вот например "заявки принятые Ивановым за сегодня" - тоже ID и Name, тоже нужны для "комбика" - тоже чтоли справочник?
По мне так, этой границы нет вообще, одна и таже таблица иногда может выступать в роли справочника.
Иногда справочник это вообще не таблица, а выборка, прчем выборка значений которых нет в таблицах.
...
Рейтинг: 0 / 0
Шаблон класса для представления справочников
    #38542164
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей К, обратимся к Вашей любимой википедии:Виды классификаторовКлассификаторы разрабатываются как на уровне отдельных предприятий (организаций), так и на уровне государств. Существуют следующие уровни классификаторов:
- международные — стандартные классификаторы, используемые по всему миру...ISO коды валют, IATA коды аэропортов, городов и регионов - это ни фига не числовые коды. Но идентификатор записи в вашей конкретной базе, в справочнике валют вполне может быть числовым, потому как идентификатор - это не код классификатора
...
Рейтинг: 0 / 0
Шаблон класса для представления справочников
    #38542175
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хотя с валютой не удачный пример, т.к. стандартом предполагается и буквенный и цифровой коды.
...
Рейтинг: 0 / 0
Шаблон класса для представления справочников
    #38542205
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAАлексей К, обратимся к Вашей любимой википедии:Виды классификаторовКлассификаторы разрабатываются как на уровне отдельных предприятий (организаций), так и на уровне государств. Существуют следующие уровни классификаторов:
- международные — стандартные классификаторы, используемые по всему миру...ISO коды валют, IATA коды аэропортов, городов и регионов - это ни фига не числовые коды. Но идентификатор записи в вашей конкретной базе, в справочнике валют вполне может быть числовым, потому как идентификатор - это не код классификатора Есть первичный ключ, есть остальные поля. Да, в классификаторе могут присутствовать кроме имени короткие обозначения, ну и что? Возьмёт ICAO-классификатор аэропортов:
Код: c#
1.
2.
3.
4.
5.
6.
var novosibirskAirport = new Icao
{
    ID = 123, // наш внутренний код, потому что по char(4) первичный ключ делать неразумно
    IcaoID = "UNNT", // ICAO имя аэропорта
    Name = "Толмачёво" // "Человеческое" имя аэропорта
}
...
Рейтинг: 0 / 0
Шаблон класса для представления справочников
    #38542220
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA1. идентификатор записи, первичный ключ - это не уникальный код классификатора;И тем не менее, в случае с комбобоксом, скорее всего, в качестве SelectedValue будет использоваться именно это поле. Поэтому речь именно про него.
...
Рейтинг: 0 / 0
Шаблон класса для представления справочников
    #38542222
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA2. идентификатор записи может генерироваться не просто инкрементом и размерности Int-а может не хватить.

Да он будет long-ом, но не int-ом. С этим я не спорю, просто мне это не нравится, не более того.
...
Рейтинг: 0 / 0
Шаблон класса для представления справочников
    #38542282
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КskyANA2. идентификатор записи может генерироваться не просто инкрементом и размерности Int-а может не хватить.

Да он будет long-ом, но не int-ом. С этим я не спорю, просто мне это не нравится, не более того.А мне показалось, что спорите:Алексей КArm79Что касается int - то ММВБ (РТС) уже давно перешло на long. Номера заявок превысили размерность типа.Но это же не для классификаторов.
...
Рейтинг: 0 / 0
Шаблон класса для представления справочников
    #38542297
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAАлексей Кпропущено...
С этим я не спорю, просто мне это не нравится, не более того.А мне показалось, что спорите:Алексей Кпропущено...
Но это же не для классификаторов.Заявка не является классификатором, о чём я и сообщил.
...
Рейтинг: 0 / 0
Шаблон класса для представления справочников
    #38542310
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КskyANAпропущено...
А мне показалось, что спорите:пропущено...
Заявка не является классификатором, о чём я и сообщил.И что? Из этого же не следует, что идентификатор записи или код классификатора не может превысить размерность int-а.

Ещё как могут. Правда это сразу после выбора метода классификации или метода генерации идентификатора станет ясно
...
Рейтинг: 0 / 0
Шаблон класса для представления справочников
    #38542316
Arm79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей К, к чему спорить то?

Выделять отдельную сущность исключительно под классификаторы - это спорное решение. И тем более затачивать их только под int. Если речь идет именно об ускорении работы и т.п., проще сниппет сделать, и, при необходимости, менять тип свойства ID. Вы же заранее себя ограничиваете, закладывая int в основание иерархии классов.

Сейчас мы делаем проект один, так там общие справочники/классификаторы для всех ИТ-систем организации (Master Data Management). Ключи там разнообразные, в т.ч. и строки.

К тому же, есть общероссийские классификаторы, которые юзаются as is. Например, Коды ТН ВЭД , где ключом являются римские цифры
...
Рейтинг: 0 / 0
Шаблон класса для представления справочников
    #38542323
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAАлексей Кпропущено...
Заявка не является классификатором, о чём я и сообщил.И что? Из этого же не следует, что идентификатор записи или код классификатора не может превысить размерность int-а.

Ещё как могут. Правда это сразу после выбора метода классификации или метода генерации идентификатора станет ясно Ну и замечательно. Я стараюсь избегать таких способов формирования значений первичного ключа, поэтому в большинстве случаев меня устраивает структура данных { int ID; string Name; } , под которую я заготовил специальный класс и часто его использую. Всё сходится.

Думаю, все всё поняли, тему можно закрывать. :-)
...
Рейтинг: 0 / 0
Шаблон класса для представления справочников
    #38542332
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей К, да ещё на второй странице все всё поняли: 15481891
...
Рейтинг: 0 / 0
Шаблон класса для представления справочников
    #38542338
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arm79Алексей К, к чему спорить то?Я и не спорю. :-)

Это окружающие меня пытаются убедить в моей неправоте, вероятно, они знают мои задачи лучше меня. :-)

Arm79Выделять отдельную сущность исключительно под классификаторы - это спорное решение. И тем более затачивать их только под int. Если речь идет именно об ускорении работы и т.п., проще сниппет сделать, и, при необходимости, менять тип свойства ID. Вы же заранее себя ограничиваете, закладывая int в основание иерархии классов.Если вдруг произойдёт чудо и придётся сменить тип первичного ключа - так и быть, вместо стандартного класса будет использован специальный. Такую замену можно будет произвести по необходимости.
...
Рейтинг: 0 / 0
Шаблон класса для представления справочников
    #38542342
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей К, Ваша проблема в том, что Вы на основе конкретно своих задач и инфраструктуры делаете обощающие выводы:Алексей КНе думаю, что такая предметная область существует.Это не правильно.
...
Рейтинг: 0 / 0
25 сообщений из 127, страница 4 из 6
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Шаблон класса для представления справочников
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]