Доступ к атрибутам класса взаимно в составе python

Это плохая практика для доступа к атрибутам родительского объекта при использовании композиции?

У меня есть класс, где мне нужно программное обеспечение, которое работает в зависимости от определенного формата файла. На данный момент поддерживаются только несколько форматов, а другие могут быть добавлены позже. Идея состоит в том, чтобы сделать добавление новых форматов максимально простым и структурированным. В зависимости от программного обеспечения методы должны называться одинаково, но они не выполняют одинаковые шаги.

Все части программного обеспечения будут возвращать выходные данные, основанные на параметрах, указанных в INI-файле, и действия будут выполняться один за другим с использованием разделов INI-файла в качестве классов ConfigSection,

class ConfigSection(object):
    def __init__(self,parameters,software=None):
        self.parameters = parameters
        self.software = software

    def call_software(self,name):
        self.software = get_softwate(name,self)
        self.software.setup()
        self.software.run()

    def get_output(self):
        pass

    def do_actions(self):
        pass

def get_software(name,section):
    # Find right software
    # Return subclass of Software with given parameters

class Software(object):
    def __init__(self,section):
        self.section = section

    def setup(self):
        # Get the necessary info from 'section'

    def run(self):
        parameters = self.section.parameters

class A(Software):
    def __init__(self,section):
        self.section = section

    def setup(self):
        parameters = self.section.parameters
        # Read the necessary parameters for this software and prepare them
        # to be used in run

    def run(self,parameters):
        # Build command using the parameters

0 ответов

Другие вопросы по тегам