У меня проблема с дизайном кода. Я пытаюсь прочитать некоторые файлы и создать для каждого файла один или несколько экземпляров (зависит от содержимого). Но некоторые экземпляры зависят от других файлов в списке, так что каждый экземпляр должен знать верхний класс. Следующий пример должен пояснить, что я имею в виду:Зависимые экземпляры в одном списке
class SetOfAll(object)
def __init__(self):
self.matrjoschkas = []
def add(self, matrjoschka):
self.matrjoschkas.append(matrjoschka)
def create_matrjoschkas(self):
for file in glob.glob('*.txt'):
self.add(Matrjoschka(file, self))
class Matrjoschka(object)
def __init__(self, file, container):
self._container = container
...
if some condition:
self._container.add(Matrjoschka(..., self._container))
Есть элегантный способ избежать, что каждый экземпляр должен знать высший класс? Потому что в моем случае это немного сложнее, и было бы хорошо, если бы какая-то фабрика могла это сделать.
Это было полезно. С этой идеей я мог бы разработать решение, которое будет работать для меня. Спасибо! – Christian