什么是框架
框架其实就是对开发中必备或者复用性高的模块组件集成起来的的一个整体
为什么需要框架
在软件开发工程中,如果每一次开发一个应用程序,都需要从零开始一步一步实现整个应用,无疑是非常耗费人力资源和时间成本的。
为了提高开发应用程序的效率节约成本,甚至是做到降低开发程序的门槛,框架也就应运而生了。
框架本质上就是把开发应用程序经常要用到的工具或者模块实现并组合在一起,当要实际开发应用程序时,直接从框架里导出这些可以复用的工具和模块,这样就不需要每一次都去重新实现。
又因为已经把常用模块实现好了,所以对于开发者的技术门槛也大大降低了很多,开发者使用框架开发时,只需要专注应用程序的需求设计和业务逻辑就可以开发好一款应用程序。
而且由于专注点变少,对于开发经验不是很足的开发者,遵循框架的思路一样可以开发出高质量的应用程序。
如何从设计到维护一个 Web 框架
对于如何设计一个框架,其实是个吃经验的活,需要在大量的应用程序开发中,思考总结出经常复用并且必不可缺的模块和工具,然后整理出来,并且集成到一起。
而且这些模块和工具的耦合度要非常低,因为在开发框架时,添加模块和修改模块是经常在做的事情,所以低耦合度有两个比较核心的原因:
- 一是方便框架后续扩展,一个好的设计是非常容易添加新模块的
- 二是降低互相依赖的复杂度,可以不用忧虑修改其中一个模块会不会影响到其它模块而小心翼翼了。
接着就是根据整理出来的工具和模块,按照耦合度最低这个核心需求去设计框架的架构了。
设计好架构后,下一步就是对模块与框架主体的耦合度从高到低做好排序分类,然后从高耦合的模块开始实现,比如在 Python Web 框架
中必不可少的 CGI
模块,这是一个框架被调度的入口。这样子分配任务的目的就只是为了让框架在最短的时间内能先跑起来,然后再把其它相关模块和工具开并发集成进去。
实现完框架之后,就是维护工作了,这时候可以通过从使用者那里收集信息反馈或者根据自身遇到的情况,对框架再进行修改或者功能添加,一直维护完善它,让框架真正成熟起来,最大化的降低开发应用程序时的成本。
前面说了这么多关于框架的知识,这里介绍一个实验楼的教程:【Python 实现轻量型 Web 框架】,教你用Python实现一个web框架,从而掌握和理解web框架的应用和开发按流程。
教程简介:
该项目使用 Python 实现一个 Web 框架,涉及一个 Web 框架 的必备模块的设计到实现,包含 数据库模块,会话模块,异常处理模块,WSGI 模块,模版引擎模块,路由模块,视图模块,辅助模块。最后再使用实现的框架开发一个 Web 应用程序来加深对 Web 框架 的理解和使用 Web 框架的开发流程。
实验列表:
- 第1节:序目
- 第2节:HTTP 简介
- 第3节:HTTP 服务器简介
- 第4节:WSGI 简介
- 第5节:Web 框架设计
- 第6节:使用 Werkzeug 实现 WSGI 入口
- 第7节:实现 URL 路由追踪
- 第8节:MVC 设计模式理念
- 第9节:实现 MVC 设计模式的支持
- 第10节:实现一个简单的模版引擎
- 第11节:实现 HTTP 会话维持
- 第12节:实现 URL 重定向
- 第13节:数据与模版分离的理念
- 第14节:实现 Json 数据返回
- 第15节:实现基于 HTTP 协议的文件下载
- 第16节:MySQL 数据库简介
- 第17节:实现 MySQL 数据库连接模块
- 第18节:实现异常处理
- 第19节:Web 框架实现总结
- 第20节:使用 Web 框架实战一个 Web 应用程序
能学到什么?
- 基于 HTTP 的通信流程,针对不同请求方式的处理
- Web 服务器、WSGI、Python 框架之间的调度流程
- MVC 设计模型的设计到实现
- MySQL 数据库的交互设计
- Web 框架的设计到实现
- 应用程序开发流程,从需求分析,架构设计,数据库模型设计到应用程序的实现
最后:
- 点击【Python 实现轻量型 Web 框架】查看教程详细信息~
- 更多实战项目,点击这里进行查看~
- 12条技术学习路径,带你零基础入门编程~
训练营是实验楼推出的专注实战应用的、有老师指导的实验教程,一般课程选题来自优秀的开源技术或仿知名网站,非常适合已学基础技术却迷茫不知道如何运用的同学。
网友评论