BlinCT
BlinCTApril 22, 2023, 2:16 a.m.

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

Всем привет.
У меня между сервером и клиентами бегают пакеты с формате json. Формирую я их с обоих сторон.
Например клиент регистрируется и вводит данные(создается класс с enum о том что это регистрация), сервер принял отправил ответ(формируется другой класс, enum с тем что success и так же какое то сообщение типа alert). Клиент подключается, данных чуть меньше чем дял регистрации, так же класс с меткой, сервер ответил, опять пакет с меткой.
Как видно куча классов со своей меткой, небольшые отличия у некоторых по данным что они собирают.

Можно ли как то изящнее придумать чтобы не плодить кучу классов(у меня уже их больше 10)?
Посоветуйте пожалуйста как с такими пакетами можно лучшую работу организовать?
Спасибо

We recommend hosting TIMEWEB
We recommend hosting TIMEWEB
Stable hosting, on which the social network EVILEG is located. For projects on Django we recommend VDS hosting.

Do you like it? Share on social networks!

1
Evgenii Legotckoi
  • April 24, 2023, 3:22 a.m.

Привет.

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

И в качестве второго варианта улучшения - это использовать паттерн строитель (Builder)

    Comments

    Only authorized users can post comments.
    Please, Log in or Sign up
    L
    • Leo
    • Sept. 26, 2023, 11:43 a.m.

    C++ - Test 002. Constants

    • Result:41points,
    • Rating points-8
    L
    • Leo
    • Sept. 26, 2023, 11:32 a.m.

    C++ - Test 001. The first program and data types

    • Result:93points,
    • Rating points8
    Last comments
    IscanderChe
    IscanderCheSept. 13, 2023, 9:11 a.m.
    QScintilla C++ example По горячим следам (с другого форума вопрос задали, пришлось в памяти освежить всё) решил дополнить. Качаем исходники с https://riverbankcomputing.com/software/qscintilla/downlo…
    Evgenii Legotckoi
    Evgenii LegotckoiSept. 6, 2023, 7:18 a.m.
    Qt/C++ - Lesson 048. QThread — How to work with threads using moveToThread Разве могут взаимодействовать объекты из разных нитей как-то, кроме как через сигнал-слоты?" Могут. Выполняя оператор new , Вы выделяете под объект память в куче (heap), …
    AC
    Andrei CherniaevSept. 5, 2023, 3:37 a.m.
    Qt/C++ - Lesson 048. QThread — How to work with threads using moveToThread Я поясню свой вопрос. Выше я писал "Почему же в методе MainWindow::on_write_1_clicked() Можно обращаться к методам exampleObject_1? Разве могут взаимодействовать объекты из разных…
    n
    nvnAug. 31, 2023, 9:47 a.m.
    QML - Lesson 004. Signals and Slots in Qt QML Здравствуйте! Прекрасный сайт, отличные статьи. Не хватает только готовых проектов для скачивания. Многих комментариев типа appCore != AppCore просто бы не было )))
    NSProject
    NSProjectAug. 24, 2023, 1:40 p.m.
    Django - Tutorial 023. Like Dislike system using GenericForeignKey Ваша ошибка связана с gettext from django.utils.translation import gettext_lazy as _ Поле должно выглядеть так vote = models.SmallIntegerField(verbose_name=_("Голос"), choices=VOTES) …
    Now discuss on the forum
    IscanderChe
    IscanderCheSept. 17, 2023, 9:24 a.m.
    Интернационализация строк в QMessageBox Странная картина... Сделал минимально работающий пример - всё работает. Попробую на другой операционке. Может, дело в этом.
    NSProject
    NSProjectSept. 17, 2023, 8:49 a.m.
    Помогите добавить Ajax в проект В принципе ничего сложного с отправкой на сервер нет. Всё что ты хочешь отобразить на странице передаётся в шаблон и рендерится. Ты просто создаёшь файл forms.py в нём описываешь свою форму и в …
    BlinCT
    BlinCTSept. 15, 2023, 12:35 p.m.
    Размеры полей в TreeView Всем привет. Пытаюсь сделать дерево вот такого вида Пытаюсь организовать делегат для каждой строки в дереве. ТО есть отступ какого то размера и если при открытии есть под…
    IscanderChe
    IscanderCheSept. 8, 2023, 12:07 p.m.
    Кастомная QAbstractListModel и цвет фона, цвет текста и шрифт Похоже надо не абстрактный , а "реальный" типа QSqlTableModel Да, но не совсем. Решилось с помощью стайлшитов и setFont. Спасибо за отлик!
    Evgenii Legotckoi
    Evgenii LegotckoiSept. 6, 2023, 6:35 a.m.
    Вопрос: Нужно ли в деструкторе удалять динамически созданные QT-объекты. Напр: Зависит от того, как эти объекты были созданы. Если вы передаёте указатель на parent объект, то не нужно, Ядро Qt само разрулит удаление, если нет, то нужно удалять вручную, иначе будет ут…

    Follow us in social networks