BlinCT
April 22, 2023, 12:16 p.m.

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

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

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

2

Do you like it? Share on social networks!

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

Привет.

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

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

    Comments

    Only authorized users can post comments.
    Please, Log in or Sign up
    • Last comments
    • AK
      April 1, 2025, 11:41 a.m.
      Добрый день. В данный момент работаю над проектом, где необходимо выводить звук из программы в определенное аудиоустройство (колонки, наушники, виртуальный кабель и т.д). Пишу на Qt5.12.12 поско…
    • Evgenii Legotckoi
      March 9, 2025, 9:02 p.m.
      К сожалению, я этого подсказать не могу, поскольку у меня нет необходимости в обходе блокировок и т.д. Поэтому я и не задавался решением этой проблемы. Ну выглядит так, что вам действитель…
    • VP
      March 9, 2025, 4:14 p.m.
      Здравствуйте! Я устанавливал Qt6 из исходников а также Qt Creator по отдельности. Все компоненты, связанные с разработкой для Android, установлены. Кроме одного... Когда пытаюсь скомпилиров…
    • ИМ
      Nov. 22, 2024, 9:51 p.m.
      Добрый вечер Евгений! Я сделал себе авторизацию аналогичную вашей, все работает, кроме возврата к предидущей странице. Редеректит всегда на главную, хотя в логах сервера вижу запросы на правильн…
    • Evgenii Legotckoi
      Oct. 31, 2024, 11:37 p.m.
      Добрый день. Да, можно. Либо через такие же плагины, либо с постобработкой через python библиотеку Beautiful Soup