avalanche

Screenshot Λογισμικό:
avalanche
Στοιχεία Λογισμικού:
Εκδοχή: 0.3.0
Ανεβάστε ημερομηνία: 14 Apr 15
Προγραμματιστής: Eduardo Naufel Schettino
Άδεια: Δωρεάν
Δημοτικότητα: 1

Rating: nan/5 (Total Votes: 0)

χιονοστιβάδα είναι ένα πλαίσιο web Python χτισμένο στην κορυφή του webapp2 & nbsp?. Χρησιμοποιεί Jinja2 ως ένα σύστημα προεπιλεγμένο πρότυπο και δεν περιλαμβάνει κανένα στρώμα επιμονή.
χιονοστιβάδας στόχους (ή γιατί ένα άλλο πλαίσιο διαδίκτυο;)
Χιονοστιβάδα επίκεντρο του σχεδιασμού για δοκιμαστικότητα και επαναχρησιμοποίησης.
Φυσικά Avalanche δεν κάνει θαύματα. Δοκιμαστικότητα και επαναχρησιμοποίησης θα εξαρτάται τελικά από τον κώδικα της εφαρμογής. Το πλαίσιο όμως έχουν ένα μεγάλο ρόλο για τη δημιουργία το σωστό δρόμο.
Οι στόχοι που παρουσιάζονται παρακάτω, ελπίζουμε ότι μετά την ανάγνωση του σχεδιασμού και φροντιστήριο θα είναι σαφές σε σας πώς επιτυγχάνονται αυτοί οι στόχοι.
Δοκιμαστικότητα
Avalanche σχεδιάστηκε με τρόπο που να καθιστά δυνατή (πιο εύκολο για εσάς) να γράψει καλή μονάδα-τεστ για τον κωδικό σας. Αυτό δεν είναι μόνο καθιστά εύκολο να γράψει εξετάσεις. Μια μονάδα-δοκιμή θα πρέπει:
- Να δώσει ένα σαφές μήνυμα λάθους όταν αποτυγχάνει
- Αποτυγχάνουν μόνο όταν η λειτουργία υπό δοκιμή έχει σπάσει, όχι σε κάθε αλλαγή κωδικού
- Να είναι γρήγορη
Επαναχρησιμοποίηση
Κυρίως κάθε πλαίσιο ισχυρίζεται ότι επαναχρησιμοποίησης είναι ένας από τους στόχους του σχεδιασμού τους. Εδώ "επαναχρησιμοποίησης" νοείται πηγαίου κώδικα επαναχρησιμοποίησης.
Πολλοί πλαίσια παρέχουν κάποια μηχανισμούς για επαναχρησιμοποιήσιμα / αποσπώμενες υπο-εφαρμογές ωστόσο αυτό δεν είναι πάντα εύκολο να χρησιμοποιήσετε ξανά αυτά κώδικας εφαρμογές πηγή σε περίπτωση που χρειαστεί να ρυθμίσετε / τροποποιήσετε. Αποσπώμενες εφαρμογές είναι επίσης ένα πολύ σημαντικό στοιχείο, αλλά ως τώρα Avalanche δεν έχει υποστήριξη για αυτό.
Δεν πρέπει μόνο να είναι δυνατόν να γράψει επαναχρησιμοποιήσιμο κώδικα, ο κώδικας θα πρέπει να είναι επαναχρησιμοποιήσιμα για την πρώτη φορά που θα το γράψω. Δεν θα πρέπει να συμβουλεύονται να γράψει τον κώδικα σε ένα δρόμο, και αργότερα να το τροποποιήσετε για να γίνει επαναχρησιμοποιήσιμη. Δηλ είναι σε αντίθεση με λέει "Χρησιμοποιήστε την προβολή (χειριστή) λειτουργίες". Και από ό, τι ... "αν θέλετε την άποψή σας να επαναχρησιμοποιηθούν τα μετατρέψετε σε απόψεις ταξικά!».
Λεπτομέρειες Έργου
- Ιστοσελίδα / docs
- Αυτό είναι ένα έργο ανοικτού πηγαίου κώδικα (άδεια MIT), γραμμένο σε Python.
- Λήψη από PyPi
- Διαχείριση Έργου (bug tracker, αιτήματα χαρακτηριστικό και τον πηγαίο κώδικα) για bitbucket.
- Ερωτήσεις και σχόλια σχετικά με την ομάδα της Google.
Avalanche Σχεδιασμός
Προειδοποίηση
Avalanche είναι στα αρχικά στάδια της ανάπτυξης (άλφα). Το API μπορεί να αλλάξει στο μέλλον και δεν υπάρχει καμία εγγύηση ότι θα διατηρήσει τη συμβατότητα.
πέρα MVC (Model-View-Controller)
MVC είναι ένα λογισμικό αρχιτεκτονικό πρότυπο που δημιουργήθηκε με στόχο να απομονώσει "λογική τομέα» από το περιβάλλον εργασίας χρήστη. Αυτός ο διαχωρισμός της ανησυχίας επιτρέπει τη δημιουργία των καλύτερων κώδικα της εφαρμογής. Αυτό το μοτίβο ήταν πολύ επιτυχημένη για πολλά πλαίσια της επιφάνειας εργασίας και έτσι αποτέλεσε σημείο αναφοράς για τη δημιουργία του web-πλαισίων. Το πρόβλημα είναι ότι αυτή η αρχιτεκτονική δεν μπορεί να αντιστοιχιστεί απευθείας με τον τρόπο διαδικτυακών εφαρμογών εργασίας.
Ακόμη και οι λεγόμενες MVC πλαίσια δεν είναι πραγματικά MVC. Οπότε ας κρατήσει ο στόχος της MVC του. Αυτό είναι για να γράψετε καθαρό, επαναχρησιμοποιήσιμα και ελέγξιμες κωδικό.
web εφαρμογές
Ουσιαστικά όλα μια διαδικτυακή εφαρμογή κάνουμε είναι να λάβει ένα αίτημα HTTP, τα επεξεργάζονται και δημιουργούν μια απόκριση HTTP.
& Nbsp? + ------------------ +
Αίτηση HTTP ------> | web εφαρμογή + -----> απόκρισης HTTP
& Nbsp? + ------------------ +
Αποστολή και λήψη HTTP γίνεται από ένα web-server. Ας ρίξουμε μια πιο προσεκτική ματιά σε αυτό που κάνει η εφαρμογή Web:
& Nbsp? + ------ + ------- +
Αίτηση HTTP ----> | δρομολογητή | -----> | χειριστή | ----> απόκρισης HTTP
& Nbsp? + ------ + ------- +
Ο δρομολογητής θα ελέγξει τη διεύθυνση URL της αίτησης και την αποστολή σε ένα αίτημα εξυπηρέτησης που θα δημιουργήσει την απάντηση. Avalanche χρησιμοποιεί το δρομολογητή webapp2.
διαχειριστές αιτήσεων στυλ
Υπάρχουν κυρίως 3 στυλ του αιτήματος χειριστές.
- Μια ενιαία λειτουργία
- Μια μέθοδος κατηγορία
- Μια κατηγορία
Χιονοστιβάδα (και webapp2) χρησιμοποιεί το τρίτο στυλ, μια τάξη. Χρησιμοποιώντας μια τάξη ως διαχειριστή αιτήσεων ταιριάζει καλύτερα τους στόχους μας, διότι παρέχει μεγαλύτερη ευελιξία, πιο εύκολο να τροποποιήσει / επεκταθεί και επαναχρησιμοποίηση τμημάτων του χειριστή.
αίτημα επεξεργασίας χειριστή
Η επεξεργασία της αίτησης χειριστής μπορεί να χωριστεί σε 3 στάδια:
& Nbsp? + ----------------- ----------------- + + + --------- - +
ζητήσουν ----> | Μετατροπέας param | ---- param αντικείμενα ----> | οικοδόμος πλαίσιο | --- πλαίσιο -----> | renderer | ----> απάντηση
& Nbsp? + ----------------- ----------------- + + + --------- - +
Μετατροπέας 1. param - λάβουν τις σχετικές παραμέτρους από αίτηση HTTP
& Nbsp? HTTP είναι ένα πρωτόκολλο το κείμενο, η εφαρμογή θα πάρει συνήθως κάποιες παραμέτρους από την αίτηση και να μετατρέψετε τις τιμές string σε ορισμένους εγχώριους τύπους δεδομένων. Αυτές οι παράμετροι που λαμβάνονται από τη διαδρομή URI, URI ερώτημα, μετα-δεδομένα, μπισκότα, κ.λπ.
2. πλαίσιο οικοδόμος - επεξεργασία
& Nbsp? Πλαίσιο είναι ένας όρος που χρησιμοποιείται για να αναπαραστήσει τα δεδομένα που θα χρησιμοποιηθούν από ένα renderer.
& Nbsp? Η επεξεργασία αυτή είναι η λογική της εφαρμογής. Θα έχετε πρόσβαση συχνά ένα στρώμα επιμονή (μερικές φορές ονομάζεται μοντέλο), αλλά αυτό είναι εξ ολοκλήρου με τον κώδικα εφαρμογής και το πλαίσιο δεν έχει ρόλο σε αυτό.
& Nbsp? Μια ιστοσελίδα είναι συχνά αποτελείται από διάφορα στοιχεία, ώστε μερικές φορές είναι λογικό να κατανείμετε την εργασία σε περισσότερα από ένα «οικοδόμος πλαίσιο".
3. renderer - παράγει έξοδο
& Nbsp? Η renderer θα μετατρέψει το αποτέλεσμα της επεξεργασίας σε κείμενο για την απόκριση HTTP. Το στάδιο αυτό μπορεί να παραλείπεται εάν η απάντηση είναι μια ανακατεύθυνση HTTP. Η renderer θα χρησιμοποιούν συνήθως ένα πρότυπο σύστημα για τη δημιουργία κώδικα HTML ή να μετατρέψετε τα δεδομένα σε JSON.
Σε χιονοστιβάδα θα πρέπει να γράψετε κώδικα για τα 3 στάδια του χειριστή ξεχωριστά και αφήστε το πλαίσιο κολλήστε τα διάφορα μέρη μαζί.
. Μετακίνηση πάνω στο φροντιστήριο για να δείτε πώς μοιάζει

Απαιτήσεις :

  • Python

Άλλο λογισμικό του προγραμματιστή Eduardo Naufel Schettino

pytest-incremental
pytest-incremental

12 May 15

Doit
Doit

1 Mar 15

hoe.js
hoe.js

13 Apr 15

Σχόλια για avalanche

Τα σχόλια δεν βρέθηκε
προσθήκη σχολίου
Ενεργοποιήστε τις εικόνες!