Модель Signal-Slot Connection в Qt - PullRequest
       20

Модель Signal-Slot Connection в Qt

0 голосов
/ 11 января 2012

Мне нравится документировать свои соединения слотов сигналов (например, соединения в особой ситуации) с UML.Я использую Enterprise Architect, и когда у меня более 5 сигналов и / или слотов на класс, это очень сбивает с толку.Я попробовал Блок-схему и Компонентную схему :

Блок-схемы : я смоделировал свои классы как Процессы ииспользовал порты для моих сигналов / слотов.

Диаграммы компонентов : я использовал Компоненты для своих классов и Интерфейсы для моих сигнальных слотов.

Есть ли у вас опыт моделирования сигналов / слотов и что бы вы посоветовали?Существуют ли решения, которые лучше подходят для сигналов / слотов?

Чарли

1 Ответ

1 голос
/ 11 января 2012

Я всегда использовал Диаграмму последовательности , потому что я обнаружил, что система «жизненных линий» показывает передачу потока между объектами естественным образом в соответствии с шаблоном сигнал / слоты. Цитата из статьи в Википедии, ссылки на которую приведены выше:

Диаграмма последовательности показывает в виде параллельных вертикальных линий (линий жизни) различные процессы или объекты, которые живут одновременно, а в виде горизонтальных стрелок - обмен сообщениями между ними в порядке их появления. Это позволяет графически определять простые сценарии выполнения.

Кажется, согласен с этой точкой зрения, и ее довольно легко прочитать.

Что касается порядка, в котором вызываются слоты, документация Qt разъясняет это :

Если к одному сигналу подключено несколько слотов, слоты будут выполняться один за другим в том порядке, в котором они были подключены, когда излучается сигнал.

Сроки - это относительный термин, и его можно использовать для обозначения того, что вы хотите: до тех пор, пока вы последовательны и ясны в том, что вы общаетесь, никто не будет против.

...