结构化视角看django
分析一个软件的整体框架,我认为应该从静态和动态两方面入手。静态方面,看它有哪些用例,即有哪些功能模块;动态方面,看主流程如何连接上这些模块
静态方面:分View、Model、Template、Session、Auth、Middleware、Url等几大模块。
动态方面:流程图如下,
这里只包括django的http请求部分的架构:
垂直方向分层:

应用层:对用户暴露,由用户自行设计发挥;比如django-sse就是新建了一种BaseSseView
中间件层:接受http request要做的基本处理,返回response要做的处理。给用户提供扩展的空间,比如要对request/response做特别处理等等。
数据驱动层:负责提取数据
水平方向架构图:

request中间件: 把请求参数,封装成request对象
浙公网安备 33010602011771号