玩转Spring MVC(二)----MVC框架
早期程序员在编写代码时是没有一个规范的,系统的业务逻辑和数据库的访问时混合在一起的,不仅增加了大量的重复工作,而且增加了后期维护的难度。
后来,人们逐渐发现某些通用的功能是可以单独的封装起来的,这样就可以减少代码量。
再后来,逐渐产生了三层架构模型,即表现层,业务逻辑层,数据层。表现层即系统的界面,控制系统展示给用户的一些东西;数据层主要实现与数据库的交互,比如数据的增删改查;业务逻辑层处于数据访问层与表示层中间,起到了数据交换中承上启下的作用,主要用于加工处理数据。通过分层,削弱了个功能层之间的耦合性,利于代码的后期维护。
但是,即使是这样,人们仍然觉得代码间的耦合性太大,表现层和业务逻辑层之间的联系过于紧密,于是在表现层和业务逻辑层之间加了一层控制层,通过判断表现层传来的请求(即用户的请求)来决定调用哪一个业务处理逻辑。这样逐渐演化出了MVC框架。
MVC,即模型(Model)---视图(View)---控制器(Controller),尽管MVC也是三层,但并不是与三层架构模型一一对应的。典型的MVC框架即JSP+Servlet+javaBean,Jsp即视图,servlet为控制器,javaBean为模型。而在实际应用中,我们会将Model层再进行进一步的细化,可以分为业务处理层和数据访问层。
三层架构模型侧重于整体的解耦,即实现“高内聚,低耦合”;而MVC框架主要侧重于Web系统的解耦,即侧重jsp与servlet实现的解耦。
单单就Spring MVC来说,它通过XML文件实现View,Controller,Model之间的联系,通过依赖注入进一步降低了代码之间的耦合度。
版权声明:本文为博主原创文章,未经博主允许不得转载。
最新文章
- 用C#实现封装
- shell导出mysql部分数据
- Unix目录结构的来历(转)
- Modify textures at runtime
- css中的浮动以及清除浮动
- 2.2 节的练习--Compiler principles, technologys, &;tools
- 如何用ssh挂载远程目录
- HTTPS是如何保证连接安全:每位Web开发者都应知道的
- sql建立跨服务器链接
- cxf2.7.10与Spring3.0.5集成时报错如下
- ORACLE告警日志
- CSS 3 属性学习 —— 2. RGBA
- javaTemplates-学习笔记三
- AES加密 C++调用Crypto++加密库 样例
- 【JUnit4.10来源分析】0导航
- One day one cf,Keep Wa away from me.
- idea live template高级知识, 进阶(给方法,类,js方法添加注释)
- 例10-11 uva11181
- wholesale custom weighted blankets / travel weighted blankets
- pytest 2.测试用例setup和teardown