3.大概了解Tornado框架的设计模型
2017-09-19 15:21
204 查看
转自:http://blog.csdn.net/u014252563/article/details/51531533##1
Tornado框架设计模型
从上面的图可以看出,Tornado 不仅仅是一个WEB框架,它还完整地实现了HTTP服务器和客户端,在此基础上提供WEB服务。它可以分为四层:
最底层的EVENT层处理IO事件;
TCP层实现了TCP服务器,负责数据传输;
HTTP/HTTPS层基于HTTP协议实现了HTTP服务器和客户端;
最上层为WEB框架,包含了处理器、模板、数据库连接、认证、本地化等等WEB框架需要具备的功能。
在tornado的子目录中,每个模块都应该有一个.py文件,你可以通过检查他们来判断你是否从已经从代码仓库中完整的迁出了项目。在每个源代码的文件中,你都可以发现至少一个大段落的用来解释该模块的doc string,doc string中给出了一到两个关于如何使用该模块的例子。
下面首先介绍 Tornado 的模块按功能分类。
1. Core web framework
tornado.web — 包含web框架的大部分主要功能,包含RequestHandler和Application两个重要的类
tornado.httpserver — 一个无阻塞HTTP服务器的实现
tornado.template — 模版系统
tornado.escape — HTML,JSON,URLs等的编码解码和一些字符串操作
tornado.locale — 国际化支持
2. Asynchronous networking 底层模块
tornado.ioloop — 核心的I/O循环
tornado.iostream — 对非阻塞式的 socket 的简单封装,以方便常用读写操作
tornado.httpclient — 一个无阻塞的HTTP服务器实现
tornado.netutil — 一些网络应用的实现,主要实现TCPServer类
3. Integration with other services
tornado.auth — 使用OpenId和OAuth进行第三方登录
tornado.database — 简单的MySQL服务端封装
tornado.platform.twisted — 在Tornado上运行为Twisted实现的代码
tornado.websocket — 实现和浏览器的双向通信
tornado.wsgi — 与其他python网络框架/服务器的相互操作
4. Utilities
tornado.autoreload — 生产环境中自动检查代码更新
tornado.gen — 一个基于生成器的接口,使用该模块保证代码异步运行
tornado.httputil — 分析HTTP请求内容
tornado.options — 解析终端参数
tornado.process — 多进程实现的封装
tornado.stack_context — 用于异步环境中对回调函数的上下文保存、异常处理
tornado.testing — 单元测试
理解Tornado的核心框架之后,就能便于我们后续的理解。
Tornado框架设计模型
从上面的图可以看出,Tornado 不仅仅是一个WEB框架,它还完整地实现了HTTP服务器和客户端,在此基础上提供WEB服务。它可以分为四层:
最底层的EVENT层处理IO事件;
TCP层实现了TCP服务器,负责数据传输;
HTTP/HTTPS层基于HTTP协议实现了HTTP服务器和客户端;
最上层为WEB框架,包含了处理器、模板、数据库连接、认证、本地化等等WEB框架需要具备的功能。
在tornado的子目录中,每个模块都应该有一个.py文件,你可以通过检查他们来判断你是否从已经从代码仓库中完整的迁出了项目。在每个源代码的文件中,你都可以发现至少一个大段落的用来解释该模块的doc string,doc string中给出了一到两个关于如何使用该模块的例子。
下面首先介绍 Tornado 的模块按功能分类。
Tornado模块分类
1. Core web frameworktornado.web — 包含web框架的大部分主要功能,包含RequestHandler和Application两个重要的类
tornado.httpserver — 一个无阻塞HTTP服务器的实现
tornado.template — 模版系统
tornado.escape — HTML,JSON,URLs等的编码解码和一些字符串操作
tornado.locale — 国际化支持
2. Asynchronous networking 底层模块
tornado.ioloop — 核心的I/O循环
tornado.iostream — 对非阻塞式的 socket 的简单封装,以方便常用读写操作
tornado.httpclient — 一个无阻塞的HTTP服务器实现
tornado.netutil — 一些网络应用的实现,主要实现TCPServer类
3. Integration with other services
tornado.auth — 使用OpenId和OAuth进行第三方登录
tornado.database — 简单的MySQL服务端封装
tornado.platform.twisted — 在Tornado上运行为Twisted实现的代码
tornado.websocket — 实现和浏览器的双向通信
tornado.wsgi — 与其他python网络框架/服务器的相互操作
4. Utilities
tornado.autoreload — 生产环境中自动检查代码更新
tornado.gen — 一个基于生成器的接口,使用该模块保证代码异步运行
tornado.httputil — 分析HTTP请求内容
tornado.options — 解析终端参数
tornado.process — 多进程实现的封装
tornado.stack_context — 用于异步环境中对回调函数的上下文保存、异常处理
tornado.testing — 单元测试
理解Tornado的核心框架之后,就能便于我们后续的理解。
相关文章推荐
- 3.大概了解Tornado框架的设计模型
- 鸟瞰Tornado框架的 设计模型
- 软件架构和软件框架-用例模型设计应用(1)
- 分享基于分布式Http长连接框架--设计模型
- 手记_从生活模型抽象到计算机分布式系统RPC框架设计思路_咕泡
- 【设计模式 2】设计模式的来源,及其相混淆的模型、框架、架构区别
- Rafy 领域实体框架 - 领域模型设计器(建模工具)设计方案
- Apworks框架实战(五):EasyMemo的领域模型设计
- 【设计模式 2】设计模式的来源,及其相混淆的模型、框架、架构区别
- 基于MVC的web框架---模型层设计
- nginx源代码分析--框架设计 & master-worker进程模型
- 【设计模式 2】设计模式的来源,及其相混淆的模型、框架、架构区别
- 软件架构和软件框架-用例模型设计应用(1)
- 软件架构和软件框架-用例模型设计应用(1)
- GEF框架中的设计模型(命令模式)
- Laravel5框架中模型、控制器、视图设计代码
- 【tornado】系列项目(一)之基于领域驱动模型架构设计的京东用户管理后台
- 后台管理框架之四 :数据模型设计
- OO系统设计师之路--设计模型系列(1)--软件架构和软件框架[从老博客搬家至此]
- socket库C++模型设计和实现--企业信息系统框架集成第三方产品案例