Контекст:В настоящее время я использую Python для кодирования конвейера обработки -данных для большой системы астрономических изображений. Класс основного конвейера пропускает экспериментальные данные через ряд дискретных «стадий» обработки.
Этапы записываются в отдельные файлы.py, которые составляют пакет. Список доступных этапов создается во время выполнения, поэтому пользователь может выбрать этапы, через которые будут проходить данные. Цель этого подхода — позволить пользователю создавать дополнительные этапы в будущем.
Выпуск:Все параметры конфигурации конвейера и структуры данных (в настоящее время )расположены в классе основного конвейера. Есть ли простой способ получить к ним доступ из этапов, которые импортируются во время выполнения?
Моя текущая лучшая попытка кажется «неправильной» и несколько примитивной, поскольку она использует циклический импорт и переменные класса. Возможно, есть способ для экземпляра конвейера передать ссылку на себя в качестве аргумента каждому из вызываемых им этапов?
Это мой первый раз, когда я кодирую большой проект на Python, и мое отсутствие знаний о дизайне действительно проявляется.
Любая помощь будет принята с благодарностью.