Hôm nay tôi đã nói chuyện với một đồng nghiệp của tôi về các khung web Python và ấn tượng của chúng tôi về chúng. Tôi nói với anh ấy rằng tôi nghĩ Flask có yêu cầu toàn cầu có mùi rất tệ và là một kiểu chống đối.
Các tài liệu nói về bối cảnh yêu cầu:
Ngược lại, trong khi xử lý yêu cầu, một vài quy tắc khác tồn tại:
- trong khi một yêu cầu được kích hoạt, các đối tượng cục bộ bối cảnh (jar.request và các đối tượng khác) trỏ đến yêu cầu hiện tại.
- bất kỳ mã nào cũng có thể có được các đối tượng này bất cứ lúc nào.
Tôi nghĩ rằng tôi hiểu ý tưởng đằng sau quyết định thiết kế này - để làm cho ứng dụng đơn giản hơn. Đó chỉ là một sự thỏa hiệp, như trong trường hợp của Chủ đề địa phương :
Có, nó thường không phải là một ý tưởng sáng sủa để sử dụng chủ đề địa phương. Chúng gây rắc rối cho các máy chủ không dựa trên khái niệm luồng và làm cho các ứng dụng lớn khó bảo trì hơn. Tuy nhiên, Flask chỉ không được thiết kế cho các ứng dụng lớn hoặc máy chủ không đồng bộ. Flask muốn làm cho nó nhanh chóng và dễ dàng để viết một ứng dụng web truyền thống.
Là vá một đối tượng toàn cầu với thông tin yêu cầu hiện tại là một mô hình chống?
Tôi tin là như vậy, bởi vì nó nằm trong quan điểm của máy phân tích mã tĩnh là trạng thái toàn cầu, mặc dù không phải vậy. Và tôi là một lập trình viên sẽ không hiểu nó hoạt động như thế nào nếu không đọc tài liệu một cách cẩn thận. Và điều này có hậu quả trên các bài kiểm tra .
Nó không phải là một thực hành tốt để chuyển yêu cầu như là một đối số cho quan điểm? Tôi nghĩ nó dễ đọc hơn, rõ ràng và dễ gỡ lỗi hơn. Và tránh nhà nước toàn cầu.