Сразу прошу прощения за нубовопросы (для кого-то).
Вот есть класс на стороне клиента, который обслуживает клиент-серверное общение (работает с сокетом). Есть паблик-метод ОтправитьСообщение, есть сигнал, который возвращает ответ.
Следующий шаг - использование этого класса для визуализации пользователю данных из БД. Как правильно (хотите, православно) это сделать? Вижу несколько вариантов, но не буду утверждать, что среди них есть правильный, поэтому и спрашиваю. :)
1. Сделать этот класс статичным, в нем какой-нить мутекс, который будет говорить, что в данный момент кто-то уже запросил данные из БД. Когда форме надо что-то узнать на сервере, она вызывает метод этого класса ОтправитьСообщениеИПрочитатьОтвет, который «взводит» мутекс (или ждет возможности), а далее - по понятной схеме: отправляет, ждет результата, получает его и возвращает ответ.
2. Тот же вариант с мутексом, но только класс не статичный, но он (класс) один для всех форм (прикладных классов), при создании которых в конструкторе передается ссылка на этот единичный экземпляр класса. Работа - похожая.
3. Для каждой формы (прикладного объекта) создавать свой уникальный класс-клиент, к которому уже системой сигналов-слотов реализовывать отправку сообщения и принятие ответа.
Вижу, что в последнем случае, весь траффик будет распараллелен по сокетам, т.е. один клиент-программа будет работать по множеству сокетов с сервером. Не скажется ли это на работоспособности?
В общем, хочу совета.
ЗЫ, лучше не знать и спросить, чем не спросить и дальше не знать. :)