对JAVA中MVC设计模式、JAVAWEB的三层架构、AOP面向切面编程的总结
来源:互联网 发布:身份证识别网络阅读器 编辑:程序博客网 时间:2024/05/21 02:35
最近在学习JavaWeb的内容,做练习的同时学到了MVC设计模式和AOP面向切面编程,根据我的理解总结一下,如有理解的错误欢迎各位大神指出,必定感激不尽!
首先来看MVC设计模式:
MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,是一种软件分层的设计模式,即控制器(controller),视图(view),模型(model)三层。
控制器(controller)用来控制程序的流转。
视图(view)用来展示页面与用户交互。
模型(model)用来封装数据处理业务逻辑。
通过将软件分层使得软件各个层之间的耦合性降低,简单的说就是当需要修改某一层的代码时只要在这一层中修改即可,不用考虑其他层的代码,大大方便了软件的维护。还可以提高代码的重用性,将mvc框架打包可以方便开发很多软件。
接着说下javaweb的三层架构
javaweb中的三层架构是web层,service层,dao层。
web层负责接收浏览器的请求、控制程序的流转和展示页面相当于MVC设计模式中的控制器(controller)和视图(view)。在javaweb中的web层里,servlet负责接收浏览器的请求、控制程序的流转相当于控制器(controller)而视图(view)则交给jsp来展示。
service层又叫业务逻辑层负责处理业务逻辑。即MVC设计模式中的模型(model)而封装数据则交给javabean来解决。
dao层又叫数据访问层负责操作数据库。dao层中只写操作数据库的代码,也就是sql语句。
这样开发也是应用了MVC设计模式减少了各个层之间的耦合,当需要修改某一层的代码时只要在这一层中修改即可非常方便开发和维护。
最后是AOP面向切面编程
上面说了javaweb的三层架构,AOP则是在层与层之间操作,就像把层与层之间用一把刀切开一样,所以叫面向切面编程(我的理解)。原理就是用动态代理(可以参考我的博客),比如说web应用中的service层处理业务逻辑前开启sql语句的事务,之后关闭连接释放资源就可以代理service层中类 的对象,在invoke方法里的method.invoke();之前开启事务之后关闭连接释放资源即可。在这里通过面向切面编程可以控制事务。还可以通过面向切面编程来输出日志监控对象等。
- 对JAVA中MVC设计模式、JAVAWEB的三层架构、AOP面向切面编程的总结
- AOP-面向切面的编程
- 面向切面的AOP编程
- 对JavaEE中mvc模式以及三层架构的理解
- MVC 过滤器的执行顺序 AOP面向切面编程
- Java面向切面编程(AOP模式)
- 我对AOP(面向切面编程)的理解
- 对JavaWeb三层架构和MVC的理解
- MVC模式和java的三层架构
- AOP面向切面设计编程
- AOP面向切面设计编程
- spring中面向切面编程AOP的简单应用
- 使用java的Proxy实现AOP(面向切面编程)
- Java-基于注解的面向AOP(切面)编程
- Java面试之面向切面编程AOP的原理,
- Java实现AOP面向切面编程的实例教程
- Javaweb经典的三层框架和MVC设计模式
- Spring 的AOP(面向切面编程)
- oracle排序并分页sql语句
- CDH使用秘籍(一):Cloudera Manager和Managed Service的数据库
- 日期时间函数
- Linux策略路由**************8
- 小黑小波比.app服务端常见问题6
- 对JAVA中MVC设计模式、JAVAWEB的三层架构、AOP面向切面编程的总结
- 算法导论-16.1-4 活动教室选择问题
- windows下git的安装、配置与操作(一)——安装与配置
- Win8系统108个运行命令 你能记住多少?
- C++ 类成员指针
- 聊聊高并发(三十二)实现一个基于链表的无锁Set集合
- Myeclipse8.5 反编译插件 jad 安装
- asp.net自定义按钮分组
- Unknown mandatory EABI object attribute 44 报错?