2
팩토리 함수, 수퍼 클래스 및 두 개의 하위 클래스가 포함 된 작업 모듈이 있습니다. 실제 모듈은 here입니다.단일 모듈에서 슈퍼 채트 및 슈퍼 채트
팩토리를 자체 파일로 분할하고 두 개의 하위 클래스를 명령/디렉토리에 넣으면 내 슈퍼를 포함하는 모듈에서 내 서브 시스템을 가져 오기 때문에 발생하는 재귀 문제를 해결할 수 있습니다. 내가 모든 것을 제대로 수입을 생각할 때 그냥 공장이 서브 클래스의 빈 목록 붙어
내가하려고하면
for cls in Command.__subclasses__():
목록을 보는 시점에 실제로 명령 가져 오기 클래스를 가져 왔습니까? –
주 :'__subclassess__'는 CPython 최적화 세부 사항입니다. 언어 기능으로 사용하지 마십시오. –
http://stackoverflow.com/questions/3048337/python-subclasses-not-listing-subclasses @MartijnPieters가 지적한대로 구현 의존적 일뿐만 아니라'__subclasses __()'도 꽤 까다 롭습니다. 'metaclass'를 시도해 보셨습니까? 하위 클래스를 팩토리 또는 다른 구조에 등록 할 때 이런 종류의 문제를 본 적이 한번도 없습니다. –