从实例中理解框架
来源:互联网 发布:拒绝帮助别人知乎 编辑:程序博客网 时间:2024/05/16 13:06
目前,各种开发框架非常流行,那么,什么是框架(Framework)?框架是如何产生的?为什么要使用框架,以及使用框架能给我们的开发带来什么样的好处呢?下面就以我们熟悉的web框架为基础来加深对框架的理解。
在不使用struts或者springMVC等web层框架时,一直是由servlet完成业务逻辑的实现,但是,随着servlet的增多,web.xml的配置会不断的膨胀,从而变得难以维护。针对这一问题,web框架提出的方案是:提炼一个核心的servlet覆盖对所有http请求的处理。struts1中是ActionServlet,springMVC中是ActionServlet,struts2是一个filter。 这样,web.xml中只需要对核心控制器进行配置就可以了,代码变得简洁且固定了。
提炼出了核心控制器,还需要考虑后面的事情,就是怎样将不同的http请求分发到不同的action/controller对象上去进行业务处理,怎样将对应的处理结果返回到客户端。这一系列的逻辑流程由谁控制,又由谁负责具体实现,这些实现又如何关联到一起?
我们使用框架就是为了不再自己控制这些公共的问题,而将更多的精力放在业务的处理上,那么,这些事情自然是由框架来完成了。
以springMVC为例,核心控制器DispatcherServlet将从http请求开始到输出返回结果这期间的每一个处理步骤分派到不同的组件中进行处理,HandlerMaping负责将一个url指定到一个对应的controller上,HandlerMapping负责指定执行controller中的哪个方法,ViewResolver根据controller中返回的viewName,结合配置文件信息,创建出合适类型的view对象,而DispatcherServlet这个类本身负责初始化需要的组件以及对组件方法的调用。可以理解为核心控制器规范处理流程,各个组件实现处理流程。
struts和springMVC框架还给我们提供了收集表单数据,完成数据类型转换,表单验证、异常处理等功能,这这细节也为开发人员提供了很大的便利。
从上面通俗的描述,我们应该可以理解到:
框架是为了解决在某个领域开发中所碰到的困境,包含了一系列的最佳实践,作用是解决某个领域的问题。
框架是整个或部分系统的可重用设计,表现为一组抽象组件及组件实例之间交互的方法.
框架是包含了一些通用功能的半成品,开发人员可以在框架的基础上进行二次开发。
- 从实例中理解框架
- 从实例中理解框架
- 从实例中理解框架
- 从实例理解Struts2
- 从源代码理解volley框架
- cocos2d-x (一): 从hello World示例中理解整个游戏框架
- 从实例出发理解Dagger2(一)
- Android中理解IPC框架
- Android中图片加载框架Glide解析2----从源码的角度理解Glide的执行流程
- 从3个程序理解C++类实例大小
- 从一个fork()实例理解全缓冲与行缓冲
- 从一个fork()实例理解全缓冲与行缓冲
- 通过实例理解Spring的Bean工厂和AOP框架
- 【WCF 2】理解WCF框架的简单小实例
- 【StrangeIOC框架】 通过一个实例来理解MVCS结构
- Spring 框架入门helloworld实例-------深入理解IOC、AOP
- 从实例中学习设计模式
- OpenStack手动从数据库中删除实例
- web.xml中load-on-startup的作用
- 短信PDU编码解析
- 高危的程序猿,又被抓来顶缸了?光大证券“乌龙指”事件有感
- Android和Linux kernel发展史
- 多表关联更新(二)
- 从实例中理解框架
- iOS 单例,委托
- Linux高级字符设备驱动
- 关于字符串数组赋值的问题--java.lang.NullPointerException异常
- bzoj3232: 圈地游戏 0-1分数规划
- Sharepoint和Frontpage安全审计工具 – Sparty V0.1
- RMAN简明使用手册
- LLVM IR 语法简介(一)
- js学习网址