avalanche

Software screenshot:
avalanche
Software ətraflı:
Version: 0.3.0
Tarixi Upload: 14 Apr 15
Lisenziya: Pulsuz
Məşhurluq: 1

Rating: nan/5 (Total Votes: 0)

.

uçqun bir webapp2 & nbsp üst inşa Python web çərçivəsində edir; Bu default şablon sistemi Jinja2 istifadə edir və hər hansı bir əzmkarlıq qat daxildir deyil.
Avalanche qol (və ya niyə başqa web çərçivəsində?)
Testability və reusability üzrə Avalanche dizayn diqqət.
Əlbəttə Avalanche möcüzə deyil. Nəticədə proqram kodu asılıdır olacaq Testability və reusability. Amma çərçivə doğru yolu yaradılması böyük rolu var.
qol inşallah dizayn oxuduqdan sonra, aşağıda təqdim və bu hədəflərə nail necə sizə aydın olacaq tutorial edir.
Testability
Avalanche bu (sizin üçün asan) mümkün kodu yaxşı vahid-testlər yazmaq üçün edir bir şəkildə nəzərdə tutulmuşdur. Yalnız testlər yazmaq üçün asan deyil. Vahid-test olmalıdır:
- Bu uğursuz zaman aydın səhv mesaj vermək
- Test altında xüsusiyyət sınıq zaman hər kodu dəyişikliyi, yalnız uğursuz
- Sürətli
Reusability
Əsasən hər çərçivə reusability onların dizayn məqsədlərindən biri olduğunu iddia edir. Burada "reusability" mənbə-kodu reusability deməkdir.
Onu dəyişdirmək / konfiqurasiya lazımdır halda yenidən istifadə bu applications mənbə kodu həmişə asan deyil, lakin çox çərçivəsində plugable / reusable sub-applications üçün bəzi mexanizmləri təmin edir. Plugable applications da çox əhəmiyyətli bir xüsusiyyət, lakin indi kimi Avalanche üçün heç bir dəstəyi var.
Bu, yalnız kod yazmaq ilk dəfə reusable olmalıdır, reusable kodu yazmaq mümkün deyil. Siz bir şəkildə kod yazmaq üçün məsləhət və sonra daha reusable etmək üçün dəyişdirmək lazımdır lazım deyil. Yəni Bu "görünüşü (handler) funksiyaları istifadə edin" deyərək qarşı çıxır. Və daha ... "Siz views yenidən istifadə etmək istəyirsinizsə, sinif-based fikir onları çevirmək!".
Layihə Haqqında
- Veb səhifə / docs
- Bu python yazılı açıq mənbə layihə (MIT lisenziya) təşkil edir.
- PyPi Yukle
- Bitbucket layihəsi idarə edilməsi (bug tracker, özellik talepleri və mənbə kodu).
- Google qrup Suallar və rəy.
Avalanche Design
Xəbərdarlıq
Avalanche inkişaf (alpha) erkən mərhələlərində edir. API gələcəkdə dəyişə bilər və bu uyğunluğu davam edəcək heç bir təminat yoxdur.
MVC (model-view-nəzarətçi) kənarda
MVC istifadəçi interfeysi "domain məntiq" təcrid məqsədi ilə yaradılmışdır bir proqram memarlıq nümunəsidir. Narahatlıq Bu ayrılıq daha yaxşı proqram kodu yaradılması imkan verir. Bu model bir çox masa üstü çərçivəsində üçün çox uğurlu oldu və belə web-çərçivəsində yaradılması üçün istinad kimi xidmət etmişdir. Bu problem bu memarlıq yol web-applications iş birbaşa eşlenen bilməz ki.
Hətta qondarma MVC çərçivəsində həqiqətən MVC deyil. Belə ki, yalnız MVC qolu tutaq. Bu, təmiz yenidən istifadə və testable kod yazmaq üçün.
web applications
Əsasən bütün bir web-proqram, bir HTTP sorğu almaq proses və HTTP cavab yaratmaq üçün.
& Nbsp; + ------------------ +
HTTP Filmlərin ------> | web proqram + -----> HTTP Cavab
& Nbsp; + ------------------ +
Göndərilməsi və qəbul HTTP bir web-server tərəfindən idarə olunur. Web proqram nə bir daha nəzər salaq:
& Nbsp; + ------ + + ------- +
HTTP request ----> | router | -----> | handler | ----> HTTP cavab
& Nbsp; + ------ + + ------- +
router tələbi URL yoxlamaq və cavab yaradacaq bir sorğu handler göndərəcək. Avalanche webapp2 router istifadə edir.
sorğu işleyicileri üslub
Sorğu işleyicileri 3 üslub əsasən var.
- Bir funksiyası
- Method
- Bir sinif
Avalanche (və webapp2) üçüncü stil, bir sinif edir. Bir daha çox rahatlıq verir, çünki sorğu handler daha yaxşı qol uyğun bir sinif istifadə edərək, asan dəyişdirmək / genişləndirmək və handler hissələri yenidən istifadə etmək.
sorğu handler emal
sorğu handler emal 3 mərhələdə bölmək olar:
& Nbsp; + ----------------- + + ----------------- + + --------- - +
tələb ----> | param converter | ---- param obyektlərin ----> | kontekstində builder | --- kontekstində -----> | Renderer | ----> reaksiya
& Nbsp; + ----------------- + + ----------------- + + --------- - +
1. param converter - HTTP sorğu parametrləri almaq
& Nbsp; HTTP mətn protokol, proqram adətən tələbi bəzi parametrləri almaq və bəzi doğma data növə simli dəyərlər çevirmək olacaq. Bu parametrlər URI yol, və s. URI sorğu, post-data, cookies, alınır
2. kontekstində builder - emal
& Nbsp; Context bir Renderer istifadə olunacaq data təmsil etmək üçün istifadə edilən bir anlayışdır.
& Nbsp; Bu emal proqram məntiq deyil. Bu tez-tez əzmkarlıq qat (bəzən Model adlanır) daxil olacaq, lakin bu proqram kodu qədər tamamilə və çərçivə ki, heç bir rolu vardır.
& Nbsp; A web page tez-tez belə bəzən bir çox "kontekstində builder" işi bölmək üçün əhəmiyyət kəsb edir, bir neçə elementlərdən ibarətdir.
3. Renderer - çıxış yaratmaq
& Nbsp; Renderer HTTP cavab mətn daxil emal nəticəsində dönüştürür. Cavab HTTP yönlendirme edir, bu mərhələ atlandı bilər. Renderer adətən HTML kodu yaratmaq və ya JSON məlumat çevirmək üçün bir şablon sistemi istifadə edəcək.
Uçqun siz ayrı-ayrı handler 3 mərhələləri üçün kod yazmaq və çərçivə birlikdə müxtəlif yapışqan edək.
. Bu kimi görünür necə tutorial keçin

tələblər

  • Python

Geliştirici digər proqram Eduardo Naufel Schettino

hoe.js
hoe.js

13 Apr 15

Doit
Doit

1 Mar 15

pytest-incremental
pytest-incremental

12 May 15

Şərh avalanche

Şərhlər tapılmadı
Şərh əlavə
Images yandırın!