Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Сущность для хранения данных. Какаю выбрать? Record, Object ... ? / 21 сообщений из 21, страница 1 из 1
11.10.2018, 08:38
    #39715904
OxY63rus
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сущность для хранения данных. Какаю выбрать? Record, Object ... ?
Приветствую!
Имеется клиент-серверное приложение - чат. Обмен происходит строками, в которых присутствуют специальные разделители, определяющие части. В этих частях содержатся нужные сведения о типе сообщения, отправитель, получатель и т.п. Каждое такое сообщение, а именно строка при обработке разбивается и обрабатывается. При накручивании функционала, появляется необходимость добавления новых полей и др. Поэтому возникла необходимость предусмотреть масштабируемость схемы вцелом.
Планирую создать нЕчто, хранящее необходимые сведения, к которым можно будет обращаться по имени типа
Something.TypeID
Something.Items[5].Username
Something.Items[5].Nickname
Полагаю, что если Record может содержать строки только заранее определенные в длине, то это не пойдет.
В связи с этим вопрос - какую сущность выбрать? Object?
...
Рейтинг: 0 / 0
11.10.2018, 08:41
    #39715905
JayDi
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сущность для хранения данных. Какаю выбрать? Record, Object ... ?
Давно уже придумано -- формат называется JSON. В делфи он есть из коробки, либо куча отличных бесплатных компонентов. Причем с ним еще и в самой делфи легко работать.
...
Рейтинг: 0 / 0
11.10.2018, 08:49
    #39715906
OxY63rus
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сущность для хранения данных. Какаю выбрать? Record, Object ... ?
JaDi, спасибо за совет. Организовано всё в Delphi 7. Надеюсь, не будет проблем.
...
Рейтинг: 0 / 0
11.10.2018, 09:00
    #39715909
zinpub
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сущность для хранения данных. Какаю выбрать? Record, Object ... ?
А при чём здесь JSON? Для обмена - да подойдёт.

А вопрос(я так понял) про оперативное хранение. Тогда да Объект и в TList его... Либо если действий с объектом не предусмотрено то и рекорда хватит
...
Рейтинг: 0 / 0
11.10.2018, 09:13
    #39715912
zinpub
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сущность для хранения данных. Какаю выбрать? Record, Object ... ?
И record может содержать строки любой длины(точнее ссылки на них)
...
Рейтинг: 0 / 0
11.10.2018, 09:26
    #39715916
Valery_B
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сущность для хранения данных. Какаю выбрать? Record, Object ... ?
OxY63rusВ связи с этим вопрос - какую сущность выбрать? Object?
Да.
Надо сделать так:

Код: pascal
1.
2.
3.
4.
5.
6.
7.
type
 TUserInfo  = class
   property UserName:string;
   property NickName:string;
   function IsMemberOf(GroupID:Integer):Boolean;
   ....
  end;


OxY63rusПланирую создать нЕчто, хранящее необходимые сведения, к которым можно будет обращаться по имени типа

Код: pascal
1.
2.
3.
4.
 TUserHolder = class TDictionary<string,TUserInfo>
   function FindUser(const UserID:string):TUserInfo
   ...
 end;  



Далее, может сериализовывать это в Json и из него.
...
Рейтинг: 0 / 0
11.10.2018, 09:29
    #39715918
JayDi
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сущность для хранения данных. Какаю выбрать? Record, Object ... ?
Valery_B,

авторdelphi 7
автор TUserHolder = class TDictionary<string,TUserInfo>
...
Рейтинг: 0 / 0
11.10.2018, 09:36
    #39715923
tunknown
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сущность для хранения данных. Какаю выбрать? Record, Object ... ?
OxY63rusИмеется клиент-серверное приложение - чат. Сервер с базой данных или полностью самописный?

OxY63rusПри накручивании функционала, появляется необходимость добавления новых полей и др. Поэтому возникла необходимость предусмотреть масштабируемость схемы вцелом.Масштабируемости велосипедом сразу достичь трудно. Хотя потом, вероятно, специализированный велосипед сможет стать лучше. Когда размер данных достигнет терабайтов.

OxY63rusВ связи с этим вопрос - какую сущность выбрать? Object?
sqlite
Он умеет хранить данные в памяти, а не только на диске в файле.
...
Рейтинг: 0 / 0
11.10.2018, 09:38
    #39715924
Valery_B
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сущность для хранения данных. Какаю выбрать? Record, Object ... ?
авторdelphi 7
Скачать бесплатные Delphi Community Edition

JaDi,

Иначе TDictionary надо будет переводить на её аналог в D7 - TList / TStringList / TObjectList.
Только головной боли больше в разы.
...
Рейтинг: 0 / 0
11.10.2018, 10:01
    #39715933
zinpub
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сущность для хранения данных. Какаю выбрать? Record, Object ... ?
Valery_B,

THashedStringList, хотя ну не over 100500 пользователей же там
...
Рейтинг: 0 / 0
11.10.2018, 12:37
    #39716060
OxY63rus
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сущность для хранения данных. Какаю выбрать? Record, Object ... ?
Друзья, спасибо, что накидали идей. Valery_B, скорее всего пойду через создание класса, т.к. легче для восприятия.

P.S. да клиент-сервер самописные на дельфийских ClientSocket и ServerSocket. бд не использую
...
Рейтинг: 0 / 0
11.10.2018, 13:08
    #39716085
Котовасия
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сущность для хранения данных. Какаю выбрать? Record, Object ... ?
OxY63rus...появляется необходимость добавления новых полей и др. Поэтому возникла необходимость предусмотреть масштабируемость схемы вцелом.
Планирую создать нЕчто, хранящее необходимые сведения, к которым можно будет обращаться по имени типа
Something.TypeID
Something.Items[5].Username
Something.Items[5].Nickname
Полагаю, что если Record может содержать строки только заранее определенные в длине, то это не пойдет.
В связи с этим вопрос - какую сущность выбрать? Object?

Используй СУБД. Например: SQLite, FireBird embedded.
...
Рейтинг: 0 / 0
11.10.2018, 14:40
    #39716164
Василий 2
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сущность для хранения данных. Какаю выбрать? Record, Object ... ?
КотовасияИспользуй СУБД. Например: SQLite, FireBird embedded.
Да нет, сразу Oracle enterprise, чего уж мелочиться-то!
...
Рейтинг: 0 / 0
11.10.2018, 15:26
    #39716193
OxY63rus
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сущность для хранения данных. Какаю выбрать? Record, Object ... ?
Котовасия, хранящее не в смысле долгосрочного периода, а в смысле несущее в себе на данный момент времени. Ничего хранить не надо. Строка улетала, кому-то прилетела. Её надо обработать и забыть. Конечно базу данных разворачивать не буду
...
Рейтинг: 0 / 0
11.10.2018, 15:33
    #39716198
Котовасия
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сущность для хранения данных. Какаю выбрать? Record, Object ... ?
OxY63rusКотовасия, хранящее не в смысле долгосрочного периода, а в смысле несущее в себе на данный момент времени. Ничего хранить не надо. Строка улетала, кому-то прилетела. Её надо обработать и забыть. Конечно базу данных разворачивать не буду
"Хранить не надо, передавать не надо".
И зачем тебе обращаться "по имени типа" в рантайме? Пусть "имя типа" в компайлтайме живет.
...
Рейтинг: 0 / 0
11.10.2018, 15:35
    #39716201
rgreat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сущность для хранения данных. Какаю выбрать? Record, Object ... ?
Василий 2КотовасияИспользуй СУБД. Например: SQLite, FireBird embedded.
Да нет, сразу Oracle enterprise, чего уж мелочиться-то!Hadoop!
...
Рейтинг: 0 / 0
11.10.2018, 15:42
    #39716207
Dimonka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сущность для хранения данных. Какаю выбрать? Record, Object ... ?
Альтернатива JSON - суровый XML с XPATH-ом и дамами лёгкого поведения.
...
Рейтинг: 0 / 0
11.10.2018, 16:23
    #39716239
Tactical Nuclear Penguin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сущность для хранения данных. Какаю выбрать? Record, Object ... ?
DimonkaАльтернатива JSON - суровый XML с XPATH-ом и дамами лёгкого поведения.

нечего тут
сказали хадуп, значит хадуп!
...
Рейтинг: 0 / 0
11.10.2018, 16:34
    #39716248
OxY63rus
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сущность для хранения данных. Какаю выбрать? Record, Object ... ?
Котовасия"Хранить не надо, передавать не надо".
И зачем тебе обращаться "по имени типа" в рантайме? Пусть "имя типа" в компайлтайме живет.
Обработать имел в виду строку раскидать по полям своего класса. И ориентироваться на их имена, а не на индексы строковых массивов при обработке строки. Тот ещё говонокод
...
Рейтинг: 0 / 0
11.10.2018, 16:35
    #39716250
Олег Третьяков
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сущность для хранения данных. Какаю выбрать? Record, Object ... ?
Опять народ велосипеды изобретает.
OxY63rus, ORM. Mormot к примеру. Масштабируется достаточно легко, упаковывает в JSON, шифрование, обмен через http(s), REST, авторизация, сам хостится и слушает указанный порт, держит кучу БД, еще поддерживается для D7(не точно) и т.д. Остается только описать модель и скормить это дело DB-серверу, а сам DB-сервер скормить http-серверу. На стороне клиента скормить модель http-клиенту. Останется только расставить CRUD-операции в нужных местах.
...
Рейтинг: 0 / 0
11.10.2018, 16:43
    #39716256
Котовасия
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сущность для хранения данных. Какаю выбрать? Record, Object ... ?
OxY63rusКотовасия"Хранить не надо, передавать не надо".
И зачем тебе обращаться "по имени типа" в рантайме? Пусть "имя типа" в компайлтайме живет.
Обработать имел в виду строку раскидать по полям своего класса. И ориентироваться на их имена, а не на индексы строковых массивов при обработке строки...

Если у тебя формат уже задан - в чем вопрос?
OxY63rus...Обмен происходит строками, в которых присутствуют специальные разделители , определяющие части...
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Сущность для хранения данных. Какаю выбрать? Record, Object ... ? / 21 сообщений из 21, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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