Как правильно организовать взаимодействие ui и бизнес логики?
Существует ui. Кнопка и прогресс бар. По нажатию на кнопку должно происходить копирование большого количества файлов и отображение в прогресса копирования.
Нажатие кнопки вызывает метод on_button_clicked(), в методе происходит вызов метода объекта FileCopier.copy_files()
Самое тупое что можно сделать - вызывать родительский метод обновления прогресс бара в методе copy_files().
Как по умному обновлять ui прогресс бар из бизнес логики?
Метод copy_files() должен отдавать информацию отпрогрессе копирования путем обратного вызова функции (callback) или отправки события (event) (зависит от языка программирования)