Помочь в создании архитектуры по всем правилам SOLID
Помогите правильно сделать архитектуру используя SOLID
Софт на Qt
Вводные данные: есть тот кто передает и принимает данные (socket)
Но мы упростим
struct Net {
bool sendData (const QByteArray &data);
signals:
void receviedData (const QByteArray &data);
}
Первый уровень это протокол сервиса.
enum class CommandId : quint8 {
Command1,
Command2
}
struct ServicePacket {
CommandId id;
QByteArray data;
}
id это номер команды, data любые данные которые нужный для этой команды
Теперь сами команды
struct Command1 {
quint64 time;
QString cmdData;
}
struct Command2 {
QString status;
}
ServicePacket Может иметь формат бинарный, и может иметь формат Json
В случае с бинаркой
struct ServicePacket {
CommandId id;
QByteArray data;
}
Для Json
struct ServicePacket {
CommandId id;
QJsonValue data;
}
3 попытка реализации лежит в аттаче
Мне кажется я что-то сильно путаю и каждый раз прихожу в тупик, то не могу перекодировать принятые пакеты, то закодировать.
Мне нужны подробные объяснения что я не так делаю. с рабочим примером типа как в аттаче, но там ошибки потому что я не дописал, первые 3 версии были также ужасны.