допустим, у меня есть python 3.7+ модуль / скрипт A, который выполняет обширные вычисления. Кроме того, модуль A используется внутри другого модуля B, где модуль A полностью инкапсулирован, а модуль B не знает много внутренней реализации модуля A, просто он каким-то образом выводит ход своих вычислений.
Считайте меня ответственным лицом (лицо A) за модуль A, и любой другой человек (лицо B), который меня не знает, пишет модуль B. Таким образом, человек A пишет в основном открытую библиотеку.
Что будет лучшим способом для модуля A для вывода его прогресса? Я предполагаю, что это дизайнерское решение.
- Будет ли получатель в модуле A иметь смысл, чтобы модуль B всегда вызывал этот получатель (возможно, в al oop), чтобы получить информацию о ходе выполнения A ?
- Можно ли каким-то образом использовать функцию обратного вызова, которая реализована в модуле A таким образом, что эта функция вызывается каждый раз, когда происходит обновление прогресса? Так что этот обратный вызов возвращает текущий прогресс A.
- Может быть, есть какой-нибудь другой подход к этому, который можно было бы использовать?
Указание на уже существующие решения было бы очень полезно!