avalanche

Sagteware kiekie:
avalanche
Sagteware besonderhede:
Weergawe: 0.3.0
Upload datum: 14 Apr 15
Lisensie: Gratis
Populariteit: 1

Rating: nan/5 (Total Votes: 0)

stortvloed is 'n Python web raamwerk gebou op die top van webapp2 nbsp &;. Dit maak gebruik van Jinja2 as 'n standaard sjabloon stelsel en nie sluit in enige volharding laag.
stortvloed doelwitte (of waarom 'n ander web raamwerk?)
Stortvloed ontwerp fokus op toetsbaarheid en herbruikbaarheid.
Natuurlik Avalanche nie wonderwerke doen. Toetsbaarheid en herbruikbaarheid sal uiteindelik afhang van die program kode. Maar die raamwerk het 'n groot rol op die opstel van die regte pad is.
Die doelwitte word hieronder aangebied, hopelik na die lees van die ontwerp en tutoriaal dit vir jou duidelik sal wees hoe hierdie doelwitte bereik word.
Toetsbaarheid
Stortvloed is ontwerp in 'n manier dat dit maak dit moontlik om (makliker vir jou) goeie eenheid-toetse vir jou kode te skryf. Dit is nie net maak dit maklik om toetse te skryf. 'N Eenheid-toets moet:
- 'N duidelike fout boodskap wanneer dit nie
- Misluk slegs wanneer die funksie onder toets is gebreek, nie op elke kode verandering
- Vinnig
Herbruikbaarheid
Meestal elke raamwerk beweer dat herbruikbaarheid is een van hul ontwerp doelwitte. Hier "herbruikbaarheid" beteken bron-kode herbruikbaarheid.
Baie raamwerke verskaf 'n paar meganismes vir herbruikbare / plugable sub-aansoeke maar dit is nie altyd maklik om te her-gebruik van hierdie aansoeke bronkode in die geval wat jy nodig het om te instel / verander nie. Plugable aansoeke is ook 'n baie belangrike funksie, maar van nou Avalanche het geen ondersteuning vir daardie.
Dit moet nie net moontlik wees herbruikbare kode te skryf, die kode moet herbruikbare op die eerste keer dat jy dit skryf. Jy moet nie aangeraai word om die kode in een manier om te skryf, en as later het dit te verander dit herbruikbare te maak. D.w.s. dit is gekant teen sê: "Gebruik oog (hanteerder) funksies". En as ... "as jy wil om jou mening te her-bruikbare word sit hulle klas-gebaseerde uitsig!".
Project Besonderhede
- Webwerf / docs
- Dit is 'n oop-bron projek (MIT lisensie) geskryf in Python.
- Aflaai van PyPi
- Projek bestuur (bug tracker, funksie versoeke en bron-kode) op bitbucket.
- Vrae en terugvoer op Google-groep.
stortvloed Design
Waarskuwing
Stortvloed op vroeë stadiums van ontwikkeling (alfa). Die API kan in die toekoms verander en daar is geen waarborg dit sal verenigbaarheid hou.
buite MVC (model-view-kontroleerder)
MVC is 'n sagteware argitektoniese patroon geskep met die doel om te isoleer "domein logika" van die gebruikerskoppelvlak. Hierdie skeiding van kommer in staat stel om die skepping van 'n beter program kode. Hierdie patroon was baie suksesvol vir baie lessenaar raamwerke en so het gedien as 'n verwysing na die skepping van web-raamwerke. Die probleem is dat hierdie argitektuur nie direk aan die manier web-programme werk kan gekarteer word.
Selfs die sogenaamde MVC raamwerke is nie regtig MVC. So laat ons net die MVC se doel hou. Dit is skoon, herbruikbare en toetsbare kode te skryf.
web programme
Wese al 'n web-program doen, is 'n HTTP-versoek te ontvang, verwerk en genereer 'n HTTP reaksie.
& Nbsp; + ------------------ +
HTTP Versoek ------> | web aansoek + -----> HTTP Response
& Nbsp; + ------------------ +
Stuur en ontvang HTTP word hanteer deur 'n web-bediener. Kom ons neem 'n nader kyk na wat die web aansoek doen:
& Nbsp; + ------ + + ------- +
HTTP-versoek ----> | router | -----> | hanteerder | ----> HTTP reaksie
& Nbsp; + ------ + + ------- +
Die router sal die URL van die versoek monitor en stuur dit na 'n versoek hanteerder wat die reaksie skep. Stortvloed gebruik die webapp2 router.
versoek hanteerders style
Daar is hoofsaaklik 3 style van versoek hanteerders.
- 'N enkele funksie
- 'N klas metode
- 'N klas
Stortvloed (en webapp2) gebruik die derde styl, 'n klas. Met behulp van 'n klas as versoek hanteerder pas beter ons doelwitte, want dit bied 'n groter buigsaamheid, makliker om te verander / uit te brei en hergebruik dele van die hanteerder.
versoek hanteerder verwerking
Die versoek hanteerder verwerking kan in 3 fases verdeel word:
& Nbsp; + ----------------- + + ----------------- + + --------- - +
versoek ----> | param converter | ---- param voorwerpe ----> | konteks bouer | --- konteks -----> | vertoning | ----> reaksie
& Nbsp; + ----------------- + + ----------------- + + --------- - +
1. param converter - kry parameters van HTTP-versoek
& Nbsp; HTTP is 'n teks-protokol, die aansoek sal tipies 'n paar parameters van die versoek en string waardes omskep in sommige inheemse data tipes. Hierdie parameters is geneem uit die URI pad, URI navraag, post-data, koekies, ens
2. konteks bouer - die verwerking
& Nbsp; Konteks is 'n term wat gebruik word om die data wat deur 'n vertoning wat gebruik sal word om te verteenwoordig.
& Nbsp; Dit verwerking is die aansoek logika. Dit sal dikwels toegang tot 'n volharding laag (soms genoem Model), maar dit is heeltemal aan die program kode en die raamwerk het geen rol nie.
& Nbsp; 'n webblad is dikwels bestaan ​​uit verskeie elemente so soms maak dit sin om die werk in meer as een "konteks bouer" te verdeel.
3. vertoning - genereer uitset
& Nbsp; Die vertoning sal die resultaat van die verwerking omskep in teks vir die HTTP reaksie. Hierdie stadium kan oorgeslaan word as die reaksie is 'n HTTP aanstuur. Die vertoning sal tipies gebruik om 'n sjabloon stelsel HTML-kode te genereer of skakel die data te into.
Op stortvloed moet jy-kode vir die 3 fases van die hanteerder afsonderlik te skryf en laat die raamwerk gom die verskillende dele saam.
. Beweeg na die handleiding om te sien hoe dit lyk soos

Vereistes :

  • Python

Ander sagteware ontwikkelaar Eduardo Naufel Schettino

pytest-incremental
pytest-incremental

12 May 15

hoe.js
hoe.js

13 Apr 15

Doit
Doit

1 Mar 15

Kommentaar te avalanche

Kommentaar nie gevind
Kommentaar te lewer
Draai op die foto!