코드 디자인에 문제가 있습니다. 일부 파일을 읽고 모든 파일에 대해 하나 이상의 인스턴스 (내용에 의존)를 만들려고합니다. 그러나 일부 인스턴스는 목록의 다른 파일에 의존하므로 모든 인스턴스가 최상위 클래스를 알아야합니다. 다음 예는 내가 의미하는 것을 설명해야합니다.하나의 목록에있는 종속 인스턴스
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