avalanche

Phần mềm chụp màn hình:
avalanche
Các chi tiết về phần mềm:
Phiên bản: 0.3.0
Ngày tải lên: 14 Apr 15
Nhà phát triển: Eduardo Naufel Schettino
Giấy phép: Miễn phí
Phổ biến: 1

Rating: nan/5 (Total Votes: 0)

lở là một khuôn khổ web Python được xây dựng trên đầu trang của webapp2 & nbsp;. Nó sử dụng Jinja2 như một mẫu hệ thống mặc định và không bao gồm bất kỳ lớp kiên trì.
mục tiêu Avalanche (hoặc lý do tại sao một khuôn khổ web?)
Thiết kế tập trung vào Avalanche kiểm thử và có thể dùng lại.
Tất nhiên Avalanche không làm phép lạ. Kiểm thử và có thể dùng lại cuối cùng sẽ phụ thuộc vào các mã ứng dụng. Nhưng khuôn khổ có một vai trò rất lớn vào việc thiết lập các đường bên phải.
Các mục tiêu được trình bày dưới đây, hy vọng sau khi đọc thiết kế và chỉ dẫn theo nó sẽ được rõ ràng cho bạn làm thế nào những mục tiêu đã đạt được.
Testability
Avalanche đã được thiết kế theo cách mà nó làm cho nó có thể (dễ dàng hơn cho bạn) để viết tốt đơn vị xét nghiệm cho mã của bạn. Điều đó không chỉ làm cho nó dễ dàng để viết bài kiểm tra. Một đơn vị kiểm tra phải:
- Đưa ra một thông báo lỗi rõ ràng khi nó không thành công
- Chỉ thất bại khi các tính năng thử được phá vỡ, không phải trên mỗi thay đổi mã
- Được nhanh chóng
Có thể dùng lại
Chủ yếu là mỗi khung cho rằng có thể dùng lại là một trong những mục tiêu thiết kế của họ. Here "tái sử dụng" có nghĩa là mã nguồn có thể dùng lại.
Nhiều khuôn khổ cung cấp một số cơ chế tái sử dụng / plugable sub-ứng dụng tuy nhiên nó không phải là luôn luôn dễ dàng để tái sử dụng các mã ứng dụng mã nguồn trong trường hợp bạn cần phải cấu hình / sửa đổi nó. Ứng dụng plugable cũng là một tính năng rất quan trọng nhưng bây giờ Avalanche không có hỗ trợ cho điều đó.
Nó sẽ không chỉ có thể tái sử dụng để viết mã, mã nên được tái sử dụng vào lần đầu tiên bạn viết nó. Bạn không nên được tư vấn để viết mã trong một cách, và hơn sau này phải sửa đổi nó để làm cho nó tái sử dụng. Nghĩa là: họ phản đối việc nói "Sử dụng view (handler) chức năng". Và hơn ... "nếu bạn muốn quan điểm của bạn để được tái sử dụng được chuyển đổi chúng sang quan điểm dựa trên lớp!".
Chi tiết dự án
- Website / docs
- Đây là một dự án mã nguồn mở (giấy phép MIT) viết bằng python.
- Tải về từ PyPi
- Quản lý dự án (theo dõi lỗi, yêu cầu tính năng và mã nguồn) trên bitbucket.
- Các câu hỏi và phản hồi về nhóm google.
Avalanche thiết kế
Cảnh báo
Avalanche là vào giai đoạn đầu của sự phát triển (alpha). Các API có thể thay đổi trong tương lai và không có bảo đảm nó sẽ giữ cho khả năng tương thích.
ngoài MVC (model-view-controller)
MVC là một mô hình kiến ​​trúc phần mềm được tạo ra với mục đích để cô lập "logic miền" từ giao diện người dùng. Sự tách biệt giữa các mối quan tâm cho phép tạo ra các mã ứng dụng tốt hơn. Mô hình này đã rất thành công trong nhiều khuôn khổ và máy tính để bàn để phục vụ như là một tham chiếu đến việc tạo ra các web-khung. Vấn đề là kiến ​​trúc này không thể được ánh xạ trực tiếp đến cách web-ứng dụng làm việc.
Ngay cả những cái gọi là khuôn khổ MVC là không thực sự MVC. Vì vậy, chúng ta hãy chỉ giữ mục tiêu của MVC. Đó là viết code sạch, tái sử dụng và kiểm chứng.
các ứng dụng web
Về cơ bản tất cả một ứng dụng web làm là nhận được một yêu cầu HTTP, quá trình đó và tạo ra một phản ứng HTTP.
& Nbsp; + ------------------ +
HTTP Request ------> | ứng dụng web + -----> HTTP Response
& Nbsp; + ------------------ +
Gửi và nhận HTTP được xử lý bởi một máy chủ web. Chúng ta hãy xem xét kỹ hơn vào những gì các ứng dụng web nào:
& Nbsp; + ------ + + ------- +
Yêu cầu HTTP ----> | Router | -----> | xử lý | ----> phản ứng HTTP
& Nbsp; + ------ + + ------- +
Các router sẽ kiểm tra URL của các yêu cầu và gửi nó đến một xử lý yêu cầu đó sẽ tạo ra các phản ứng. Avalanche sử dụng router webapp2.
phong cách yêu cầu xử lý
Có chủ yếu là 3 phong cách yêu cầu xử lý.
- Một chức năng duy nhất
- Một phương pháp học
- Một lớp học
Avalanche (và webapp2) sử dụng phong cách thứ ba, một lớp học. Sử dụng một lớp theo yêu cầu xử lý phù hợp với mục tiêu của chúng tôi tốt hơn bởi vì nó cung cấp một sự linh hoạt hơn, dễ dàng hơn để sửa đổi / mở rộng và tái sử dụng các bộ phận của bộ xử lý.
xử lý yêu cầu xử lý
Việc xử lý yêu cầu xử lý có thể được chia thành 3 giai đoạn:
& Nbsp; + ----------------- + + ----------------- + + --------- - +
yêu cầu ----> | Chuyển đổi param | ---- param vật ----> | xây dựng bối cảnh | --- bối cảnh -----> | renderer | ----> phản ứng
& Nbsp; + ----------------- + + ----------------- + + --------- - +
Chuyển đổi 1. param - lấy các tham số từ yêu cầu HTTP
& Nbsp; HTTP là một giao thức văn bản, ứng dụng sẽ thường nhận được một số thông số từ yêu cầu và chuyển đổi các giá trị chuỗi thành một số loại dữ liệu bản địa. Các tham số này được lấy từ đường dẫn URI, truy vấn URI, sau dữ liệu, cookies, vv
2. Bối cảnh xây dựng - chế biến
& Nbsp; Bối cảnh là một thuật ngữ được sử dụng để đại diện cho dữ liệu đó sẽ được sử dụng bởi một renderer.
& Nbsp; chế biến này là các ứng dụng logic. Nó thường sẽ truy cập vào một lớp kiên trì (đôi khi được gọi là Model) nhưng điều này là hoàn toàn tùy thuộc vào mã ứng dụng và khuôn khổ đã không có vai trò trong đó.
& Nbsp; Một trang web thường bao gồm một số yếu tố như vậy đôi khi nó làm cho tinh thần để chia công việc thành nhiều hơn một "người xây dựng bối cảnh".
3. renderer - tạo đầu ra
& Nbsp; Các renderer sẽ chuyển đổi các kết quả của việc xử lý thành văn bản cho các phản ứng HTTP. Giai đoạn này có thể được bỏ qua nếu các phản ứng là một chuyển hướng HTTP. Các renderer thường sẽ sử dụng một hệ thống template để tạo ra mã HTML hoặc chuyển đổi dữ liệu để JSON.
Trên lở bạn nên viết mã cho 3 giai đoạn xử lý riêng biệt và để cho khuôn khổ keo các phần khác nhau lại với nhau.
. Chuyển sang các hướng dẫn để xem làm thế nào nó trông giống như

Yêu cầu :

  • Python

Phần mềm khác của nhà phát triển Eduardo Naufel Schettino

Doit
Doit

1 Mar 15

pytest-incremental
pytest-incremental

12 May 15

hoe.js
hoe.js

13 Apr 15

Ý kiến ​​để avalanche

Bình luận không
Nhập bình luận
Bật hình ảnh!