2014-03-12 5 views
5

Ich grabe in Flask mit ASP.NET MVC/PHP MVC Frameworks Hintergrund. Ich bin nicht sicher, was die bevorzugte Art der Gruppierung von Aktionen ist (im Sinne von "Funktion, die Prozessanforderung").Controller Klassen in Flask

In ASP.NET MVC Aktionen sind Methoden, Controller sind Klassen. Controller können in Bereiche gruppiert werden. Aber Flask-Anwendung kann in Module und Blaupausen unterteilt werden (sieht für mich wie ASP.NET MVC Bereiche aus). Keiner der Wege benutzt Klassen, warum?

Bitte überprüfen Sie die große Antwort unten, ist eine weitere Option Flask-Classy

Antwort

5

Nur meine Meinung.

Zuerst brauchen Sie in den meisten Fällen keine Klassen. Ich kann keine Fälle finden, in denen ich wirklich Klassen brauche, um Dispatcher einfach mit Endpunkten zu verbinden (ich werde nicht über komplexe Fälle informiert, in denen Sie Dekoratoren oder Pluggable Views verwenden). Haben Sie viele Instanzen Ihrer Controller in ASP.MVC und etc? Ein? Was ist mit Vererbung? Ich hoffe du verstehst meine Logik. Sie können auch interessante Themen mit Keywords finden.

Auf dem zweiten in Python module mit functions wirklich sehr ähnlich class (Singletons) und methods.

Am dritten ist es nur weniger verschachtelt.

Zum Gruppieren von Aktionen versuche ich Split-Controller (Ansichten mit Flaschennotation, siehe https://stackoverflow.com/a/20999302/880326) durch Logik, aber Sie können wichtigere Kriterien dafür haben. Einfaches Beispiel:

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

Ich verstehe Ihren Punkt über Klassen und ja, meine Frage mehr über "welche Struktur sollte ich in Flask verwenden, um meinen Code zu organisieren". – artvolk

+1

Sie können mehrere interessante Projekte mit den Schlüsselwörtern 'flaschen skeleton' oder' flask examples' finden und einige Informationen in der offiziellen Dokumentation (http://flask.pooco.org/docs/patterns/ und http://flask.pooco.org) erhalten/docs/weringbig /). Aber, Flask' ​​gibt Ihnen Anpassungsflexibilität und Sie können verschiedene Muster für Ihre Anwendung verwenden. Wenn Sie mehr Standardimplementierung benötigen, schauen Sie nach beliebten Skeletten und Beispielen. – tbicr