문제

내 응용 프로그램을 유지하는 글로벌 응용 프로그램 상태 및 글로벌 응용 프로그램 넓은 방법은 현재 연결된 사용자의 총 수에 대한 답을 만들고,응용 프로그램 구성 파일 등등.두 가지 옵션이 있습니다:

  1. 별도의 appstate.py 파일의 전역 변수로 기능하다.그것은 처음이지만 그것은 보인다는 목표를 설정했습니다. 에서 명확성을 나의 코드입니다.

  2. 클래스를 만들른 조치가 있나 클래스에서 기능 appstate.py 파일,다른 모든 모듈을 정의에 의해 특정 작업입니다.이 보인다.하지만 지금은 좀 더 쓰인 다른 조치가 있나.다른 조치가 있나.get_user_list().또한,방법은 아래와 관련됩니다.내가 만들 수 있는 별도의 클래스는 것은 너무 많은 클래스입니다.

편집:내가 사용하는 경우스 클래스 내가 사용하는 것 classmethods.나는 생각하지 않 필요가 있는 클래스를 인스턴스화하는 객체입니다.

도움이 되었습니까?

해결책

두 번째 방법은 더 나은 것 같다.내가 사용하는 첫 번째 중 하나의 구성 파일에 대해서만 또는 무언가이다.

어쨌든 문제를 방지하기 위해갈어 서비스를 제공하고 있습니다:

from myapp.appstate import AppState

되는 것을 방지할 수 있습니다를 작성해야합니다 더 이상.

다른 팁

소리와 같은 고전적인 난제:-).

파이썬에서,아무것도 없어 더러운 또는 부끄러운 일에 대한 선택을 사용하여 모듈을 경우에는 가장 좋은 방법입니다.후에는 모든 모듈 기능,그리고 다음과 같은 사실,첫 번째 클래스에서 시민들,그리고 언어를 제공합성 및 재산은 많은 다른 프로그래밍 언어의 제공에 의해서만 사용됩니다.

는 방법을 설명한 옵션,그것은 좀처럼 들리 당신은 너무 대한 미친 클래스-기반 접근 방법 이 경우.

내가 알지 못하는 경우에 사용한 장고 프레임워크,그러나 그렇지 않으면,를 보는 방법에 대한 설명서로 설정 합니다.이러한 응용 프로그램 전에 정의된 모듈과 그들며 세계적으로 이용할 수 있습니다.방법은 분석 옵션 노출하는 전 세계적으로 매우 우아한,그리고 당신이 찾을 수 있습니다 이러한 접근 방식은 영감에 대한 귀하의 필요합니다.

두 번째 방법은 크게 다르에서 첫 번째 방법이 있는 경우 응용 프로그램 상태에 저장됩 인스턴스 의 다른 조치가 있나 어떤 경우에는,당신의 불만 적용되지 않습니다.는 경우에 당신은 단지 저장 재료에서 클래스를 사용하여 정적/래 방법은,당신의 클래스가 다른 이 모듈이고,그것은 것 pythonic 을 대신으로 사용하실 수 있습니다.으로 모듈이 있습니다.

왜 이동 클래스의 인스턴스?는 방법할 수도 있습니다 나중에 있는 2 개의 다른"세션이 실행",에 따라 인스턴스입니다.그것은 그것을 만들 수도 있습니다 더 유연합니다.어쩌면 추가 어떤 방법 get_appstate() 모듈 그래서 그것은 instanciates 클래스 한다.나중에 있습니다 원하는 여러 인스턴스를 변경할 수 있습니다이 방법은 결국 가수와 사전 등등.한 인스턴스가 있습니다.

사용할 수도 있습산 장식 btw 하는 것을 더욱 쉽게 읽을 수 있는 유연성을 가지고 저장하는 그것을 어떻게 그리고 당신이 원하는 곳에 그것을 저장합니다.

나는 것에 동의하는 것이 더 pythonic 을 사용하여 모듈 접근 방식 대신 classmethods.

BTW,나 같은 큰 팬의 것을 사용할 수 있 전 세계적으로 몇몇에 의해"magic".는 일부를 명시적으로 호출하여 얻을 수 있는 정보입니다.음을 알 수 있는 것에서 올 및 디버깅하는 방법을 때 그것을 것이 실패합니다.

다음 예제를 살펴보십시오:

configuration
|
+-> graphics
|   |
|   +-> 3D
|   |
|   +-> 2D
|
+-> sound

진짜 문제는:의 차이점은 무엇입 클래스 모듈에는 이 계층 구조,그것으로 나타낼 수 있습 양을 의미합니까?

클래스를 나타내는 유형입니다.을 구현하면 귀하의 솔루션과 클래스는 대신 모듈,를 확인 할 수 있는 그래픽 객체에 대한 그것의 적절한 유형,그러나 일반적 그래픽 기능입니다.

클래스를 생성할 수 있습니다 매개변수화 값입니다.이것이 가능한 초기화를 다르게 클래스를 생성자,그러나 그것은 하드를 초기화하여 모듈을 다른 매개 변수입니다.

이점은,당신이 정말로 뭔가 다른 것에서 모델의 관점에서.

내가 갈 것이라고 클래스 경로로 그것은 더욱 체계적으로 정리할 수 있도록 코드입니다.을 기억하는 가독성을 위한 당신이 작업을 수행 할 수 있습니다:

from appstate import AppSate

나는 확실히 가을 위한 두 번째 옵션:이미 사용한 첫 번째 중 하나,나는 이제 형식,내 응용 프로그램 진화하고 지원해야 더 많은 모듈식 구조물,그래서 나는 이제를 처리하는 데 필요 여러 simulataneous 구성'.

두번째 방식은,IMO,더 많은 유연성과 미래의 증거입니다.을 피하는 더 이상 줄의 코드를 사용할 수 있습니다 from appstate import AppStateimport appstate.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top