다른 구조로 파이썬 응용 프로그램을 구성하려고합니다. 원형 종속성으로 인해 가장 자연스러운 글꼴이 작동하지 않습니다. 조직의 목표는 클래스를 자체 파일로 이동하고 모듈을 자신의 __init__.py
에 의해 제어하도록하는 것입니다.모듈로 파이썬 코드 구성하기?
어쨌든 코드를 참조하십시오. 이 구조를 가진 앱을 가지고 있습니다.
/app
|__ user
| |__ __init__.py
| |__ user_dao
| |__ user_dto
| |__ user_record
|
|_app.py
/app/user/__init__.py
다음과 같이 보입니다.
from user_dao import UserDAO
from user_dto import UserDTO
from user_record import UserRecord
및 모든 사용자 오브젝트는 "종속"
->
에 등가 인 liniar 객체 그래프
UserDTO -> UserDAO -> UserRecord
서로에 의존한다.
앱은 내가 순환 종속성을 가리키는 스택 추적에 오류
ImportError UserDAO
를 얻을 실행하려고 할 때 마지막으로 app.py
에서
from user import UserDAO
from user import UserDTO
비슷한이
. Python에서 비슷한 코드를 구성하는 더 좋은 방법은 모듈이 작동하도록 모든 클래스를 같은 파일에 넣는 것입니다.파이썬의 응용 프로그램 디자인에 대한 제안은 도움이되며 고맙습니다.
'from user.userdao import UserDao'가 아니어야합니까? – arynhard
이 코드를 사용해 본 결과 나에게 아무런 문제가 없으며 ImportError도 아닙니다. 나는 파이썬 2.6.6을 사용했다. – Alexis
파이썬 2.7.3과 함께 윈도우에서 오류없이 테스트되었다. – Alexis