Re[5]: Clean Architecture. Отображение в GUI процесса выполнения длительной опер
От: Qulac Россия  
Дата: 20.09.24 17:02
Оценка:
Здравствуйте, zelenprog, Вы писали:


Q>>На самом деле вся архитектура сводится к одной мысли: есть код который решает проблему, а есть код который позволяет этот код использовать и представляет из себя в большей части случаев рутину. Проблема в собственно в том, что у многих усилия при разработке почему-то сосредоточены на втором и все проблемы возникают там же, а не на первом. В твоем случае главный код это тот код, который представляет долго выполняющиеся задачу, а как он будет взаимодействовать с UI — это уже второстепенно.


Z>Абсолютно согласен.

Z>Главный код у меня — это код, который обрабатывает данные. Он уже работает и все что надо выполняет.
Z>Теперь вот и встал вопрос про "второстепенную" задачу — отобразить ход выполнения.

Z>Несмотря на то, что она второстепенная, нужно эту задачу решить грамотно.

Z>Сейчас информация о ходе выполнения должна отображаться в табличке в десктопном UI. Потом потребуется чтобы все это отображалось при запуске из консоли, потом по веб-запросу.
Z>И, прочитав книжку, я не смог придумать как то сделать.
Z>Поэтому прошу совета\помощи — придумать решение хотя бы в общих чертах.

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

PS. Заместитель я уже использовал на практике подобным образом.
Программа – это мысли спрессованные в код
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.