|
Помогите с организацией структуры классов
|
|||
---|---|---|---|
#18+
Здравствуйте. Подскажите как лучше всего организовать структуру классво для реализаци следующего: Программа должна работать с "сообщениями", которые представленны ввиде структур. Каждая структура состоит из одного заголовка и N записей. То есть: MessageX{ Header header{ Type1 field1; Type2 field3; Type3 field3; ... TypeN fieldN; } Content[] content{ Type1 field1; Type2 field2; Type3 field3; Type4 field4; ... TypeX fieldX{ Type1 field1; Type2 field2; Type3 field3; ... TypeN fieldN; } ... TypeN fieldN; } } То есть в Content могу содержаться как одиночные значение типов Type1..N, так и значение которые включают в себя набор значений. Что-то я как не думаю все запутываюсь =(( Простите за глупый вопрос, просто новичек ещё. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.11.2018, 17:45 |
|
Помогите с организацией структуры классов
|
|||
---|---|---|---|
#18+
Butthurt, Ну дак обычно моделируют предметку. Сущности. Это всегда проще. Напр. Накладная, Товары, Лузеры). ... |
|||
:
Нравится:
Не нравится:
|
|||
22.11.2018, 19:15 |
|
Помогите с организацией структуры классов
|
|||
---|---|---|---|
#18+
Примерно так. На сервер для обработки приходят запросы, которые состоят из двух блоков: 1) Заголовок 2) Содержимое. Таких сообщений может быть порядка 30-40 типов. Все они отличаются только набором данных. Заголовок грубо говоря состоит из полей: Заголовок. -Тип сообщения Int обязательный, длинна 4 -Идентификатор отправителя Long, обязательный, длинна 15 -Идентификатор получателя Long, обязательный, длинна 15 -Дополнительно String, не обязательный, длинна 255 -Количество вложений, Int, обязательный, длинна 3 (Но набор полей в заголовке может менятся в зависимости от типа сообщения) Дальше в сообщении идут записи (их количество перечисленно в заголовке) Содержить могут произвольный набор полей Всех типов. Но вся заковырка в том что один из типов внутри записи, это вложенная запись с произвольным количествои полей всех типов. Как то так. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.11.2018, 21:04 |
|
Помогите с организацией структуры классов
|
|||
---|---|---|---|
#18+
ButthurtЗдравствуйте. Подскажите как лучше всего организовать структуру классво для реализаци следующего: Программа должна работать с "сообщениями", которые представленны ввиде структур. Каждая структура состоит из одного заголовка и N записей. То есть: MessageX{ Header header{ Type1 field1; Type2 field3; Type3 field3; ... TypeN fieldN; } Content[] content{ Type1 field1; Type2 field2; Type3 field3; Type4 field4; ... TypeX fieldX{ Type1 field1; Type2 field2; Type3 field3; ... TypeN fieldN; } ... TypeN fieldN; } } То есть в Content могу содержаться как одиночные значение типов Type1..N, так и значение которые включают в себя набор значений. Что-то я как не думаю все запутываюсь =(( Простите за глупый вопрос, просто новичек ещё. Если сообщениями обмениваетесь через JSON формат то вроде как все просто класс content, чтоб там особо не заморачиваться объявить как MAP. MAP класть типо content.put(fieldX.getClass().getName(), fieldX). Header понятно просто array. Код: java 1. 2. 3. 4. 5. 6.
Ну вроде типо того в зависимости от спеков и фантазий потребителей ... |
|||
:
Нравится:
Не нравится:
|
|||
22.11.2018, 21:07 |
|
Помогите с организацией структуры классов
|
|||
---|---|---|---|
#18+
ButthurtПримерно так. На сервер для обработки приходят запросы, которые состоят из двух блоков: 1) Заголовок 2) Содержимое. Таких сообщений может быть порядка 30-40 типов. Все они отличаются только набором данных. Заголовок грубо говоря состоит из полей: Заголовок. -Тип сообщения Int обязательный, длинна 4 -Идентификатор отправителя Long, обязательный, длинна 15 -Идентификатор получателя Long, обязательный, длинна 15 -Дополнительно String, не обязательный, длинна 255 -Количество вложений, Int, обязательный, длинна 3 (Но набор полей в заголовке может менятся в зависимости от типа сообщения) Дальше в сообщении идут записи (их количество перечисленно в заголовке) Содержить могут произвольный набор полей Всех типов. Но вся заковырка в том что один из типов внутри записи, это вложенная запись с произвольным количествои полей всех типов. Как то так. Походу Вам прийдется подружится с библиотекой GSON https://github.com/google/gson Maven: Код: xml 1. 2. 3. 4. 5.
На самом деле тут все просто, просто с непривычки будете тормозить поначалу ... |
|||
:
Нравится:
Не нравится:
|
|||
22.11.2018, 21:11 |
|
Помогите с организацией структуры классов
|
|||
---|---|---|---|
#18+
Мне это будет приходить в XML формате. Но зато у меня есть над чем подумать =) Gson наверно сгодиться. Спасибо большое. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.11.2018, 21:47 |
|
Помогите с организацией структуры классов
|
|||
---|---|---|---|
#18+
Как-бы в XML все уже есть. DOM называется Не очень понятно, зачем вообще XML разбирается и что с ним будет делаться дальше. Если обрабатывается по каким-то бизнес правилам, то никакая "универсальная" структура не нужна. Нужно парсить/преобразовывать XML в ту структуру, которая потом будет требоваться для обработки. Если же нужно прочесть только заголовок и, например, переслать XML куда-то дальше, то конвертировать туда-сюда-обратно тоже смысла мало. IMHO & AFAIK ... |
|||
:
Нравится:
Не нравится:
|
|||
23.11.2018, 15:53 |
|
Помогите с организацией структуры классов
|
|||
---|---|---|---|
#18+
ButthurtНа сервер для обработки приходят запросывы определитесь, вам модель классов сделать и потом их посылать как сообщения? Или уже есть сообщения в виде xml, json, почтовых голубей и вам нужны классы из них. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.11.2018, 16:38 |
|
|
start [/forum/topic.php?fid=59&msg=39737030&tid=2121640]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
49ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
47ms |
get tp. blocked users: |
2ms |
others: | 322ms |
total: | 466ms |
0 / 0 |