ฉันได้พูดคุยกับเพื่อนร่วมงานของฉันในวันนี้เกี่ยวกับโครงร่างเว็บของ Python และความประทับใจของเราที่มีต่อพวกเขา ฉันบอกเขาว่าฉันคิดว่า Flask ที่มีคำขอทั่วโลกมีกลิ่นไม่ดีและเป็นรูปแบบการต่อต้าน
เอกสารพูดเกี่ยวกับบริบทคำขอ:
ในทางตรงกันข้ามระหว่างการจัดการคำขอมีกฎอื่นอยู่สองข้อ:
- ในขณะที่คำขอใช้งานอยู่วัตถุบริบทท้องถิ่น (flask.request และอื่น ๆ ) ชี้ไปที่คำขอปัจจุบัน
- รหัสใด ๆ สามารถถือวัตถุเหล่านี้ได้ตลอดเวลา
ฉันคิดว่าฉันเข้าใจแนวคิดเบื้องหลังการตัดสินใจออกแบบนี้ - เพื่อทำให้แอปพลิเคชันง่ายขึ้น เป็นเพียงการประนีประนอมเช่นในกรณีของThread Locals :
ใช่มันไม่ใช่ความคิดที่สดใสในการใช้เธรดท้องถิ่น พวกเขาทำให้เกิดปัญหาสำหรับเซิร์ฟเวอร์ที่ไม่ได้ขึ้นอยู่กับแนวคิดของเธรดและทำให้แอปพลิเคชันขนาดใหญ่ยากต่อการบำรุงรักษา อย่างไรก็ตาม Flask ไม่ได้ออกแบบมาสำหรับแอพพลิเคชั่นขนาดใหญ่หรือเซิร์ฟเวอร์แบบอะซิงโครนัส Flask ต้องการทำให้รวดเร็วและง่ายต่อการเขียนเว็บแอปพลิเคชันแบบดั้งเดิม
การแพตช์ออบเจกต์โกลบอลกับข้อมูลการร้องขอปัจจุบันเป็นรูปแบบการต่อต้านหรือไม่?
ฉันเชื่อว่าเป็นเพราะอยู่ในมุมมองของวิเคราะห์รหัสคงที่ทั่วโลกแม้ว่ามันจะไม่ และฉันในฐานะโปรแกรมเมอร์จะไม่เข้าใจวิธีการทำงานโดยไม่อ่านเอกสารอย่างละเอียด และนี้มีผลกระทบในการทดสอบ
เป็นการดีที่จะส่งคำขอเป็นอาร์กิวเมนต์เพื่อดู ฉันคิดว่าสามารถอ่านได้ชัดเจนและง่ายขึ้นในการดีบัก และหลีกเลี่ยงสถานะโลก