mvcreating 2018-08-18
框架:框架即代码重用,就是把能提取的公共部分提取出来。框架总是针对应用的某一领域比如mybatis针对的是数据处理
设计模式:设计重用,对某一类型问题的解决套路。比如,我们需要对某些数据发生变化时做出反应,就会想到监听模式
框架模式:设计框架模式时,除了是为了代码重用,还要考虑框架的结构化,框架模式就是对如何设计框架做出指导
说MVC可以从springMVC说起,springMVC是一个用于处理web应用的请求响应问题的框架。我们如果想了解一个自己在使用的框架,最需要也是最重要的就是了解它的设计理念,即它为什么这样设计目的是什么。
java的web应用最早都只实现servlet规范,而大部分的网络请求都是网页请求,于是在servlet里面掺杂了后台逻辑代码、页面代码,杂乱不堪。于是就有人提出要将页面代码跟逻辑代码分开。就出现jsp规范,然后是jsp+servlet+javabean的模式,这就是MVC(model-view-controller)的一种简单实现。springMVC则继承这种设计理念,然后对地址映射做了处理,比较每一个请求地址就写一个servlet,还要注册到web.xml里面也太麻烦了。
MVC的理念就是将代码分成3个部分:
view:对应上面的jsp,视图模板定义数据的展示方式
model:javabean,业务模型,其实就是要展示的数据,只是我们展示的数据在一定业务逻辑下是有自己的规范的。比如一个页面展示学生列表,在这个特定业务逻辑下,我们会需要学生的姓名、性别、年龄、班级等数据,通常用一个类包装就是这个javabean
controller:servlet,它这里做的工作是根据请求获取业务模型数据,然后调用视图渲染这些数据,springMVC用它的Controller类代替servlet
实现MVC设计理念的好处是,代码解耦,写前台写后台各干各的事,不管是前期开发,后期维护都方便多了