2014-03-12 3 views
5

ASP.NET MVC/PHP MVC 프레임 워크 배경으로 Flask를 파고 있습니다. 나는 ("프로세스 요청 기능"이라는 의미에서) 행동을 그룹화하는 것이 바람직한 방법이 무엇인지 모르겠습니다.Flask의 컨트롤러 클래스

ASP.NET MVC 작업은 메서드이며 컨트롤러는 클래스입니다. 컨트롤러는 영역으로 그룹화 할 수 있습니다. 그러나 플라스크 애플리케이션은 모듈 및 청사진으로 나눌 수 있습니다 (ASP.NET MVC Area와 비슷합니다). 어느 쪽도 수업을 사용하지 않는 이유는 무엇입니까?

아래의 큰 답을 확인하시기 바랍니다, 또 다른 옵션은 그냥 내 의견 Flask-Classy

답변

5

이다.

대부분의 경우 처음에는 수업이 필요하지 않습니다. Dispatcher를 끝점에 연결하기 위해 클래스가 실제로 필요한 경우를 찾을 수 없습니다 (장식자를 사용하는 복잡한 경우 또는 Pluggable Views). ASP.MVC 등에서 컨트롤러의 인스턴스가 많습니까? 하나? 상속은 어떨까요? 당신이 내 논리를 이해하기를 바랍니다. stop writing classes 키워드로 흥미로운 주제를 찾을 수도 있습니다.

두 번째로 파이썬 modulefunctions이고 실제로는 class (싱글 톤) 및 methods과 매우 비슷합니다.

세 번째로 중첩이 적습니다.

그룹화 작업을 위해 필자는 로직을 기준으로 분리 컨트롤러 (플라스크 표기법이있는보기, https://stackoverflow.com/a/20999302/880326 참조)를 시도하지만이를 위해 더 중요한 기준을 제시 할 수 있습니다. 쉬운 예 :

views/ 
    __init__.py 
    about.py 
    home.py 
    products.py 
    user/ 
     __init__.py 
     dashboard.py 
     product_1.py 
     product_2.py 
     product_3.py 
     settings.py 
+0

나는 수업에 대한 요점을 이해하고있다. "내 코드를 구성하기 위해 플라스크에서 사용해야하는 구조"에 대한 자세한 내용입니다. – artvolk

+1

'flask skeleton' 또는'flask examples' 키워드를 사용하여 여러 가지 흥미로운 프로젝트를 찾고 공식 문서 (http://flask.pocoo.org/docs/patterns/ 및 http://flask.pocoo.org)에서 몇 가지 정보를 얻을 수 있습니다./docs/becomebig /). 하지만 'Flask'는 유연성을 제공하며 응용 프로그램에 따라 다른 패턴을 사용할 수 있습니다. 더 많은 표준 구현이 필요한 경우 인기있는 골격과 예제를 살펴보십시오. – tbicr