LINUX.ORG.RU

Сообщения gektorsir

 

Вопрос по архитектуре приложения

Здравствуйте.

Помогите найти верное решение.
Есть главный класс MainClass.
Есть класс HttpEngine, реализующий http-клиента

class HttpEngine : public QObject {
    ...
public:
    void get(...);
    void post(...);

signals:
    void answer_received(QByteArray, QString);
    ...
};

Есть классы AManager, BManager и CManager, создающиеся в MainClass. Каждый из них должен вызывать методы get/post класса HttpEngine и ожидать ответа, соединившись с его сигналом answer_received.

Варианты:
1. Агрегировать HttpEngine в каждый из классов *Manager и дергать методы каждого уникального экземпляра.
2. Создать в MainClass экземпляр HttpEngine и передавать в конструкторах *Manager классов указатель на него.
В случае варианта №2 каждый раз придется делать disconnect сигнала answer_received, чтобы не вызывались слоты двух других классов, так же ждущих этот сигнал.

Как будет правильней и почему?

 , , ,

gektorsir
()

RSS подписка на новые темы