041-MVC
MVC:架构模式
jsp演变历史
- 早期只有servlet,只能使用response输出标签数据,非常麻烦
- 后来又jsp,简化了Servlet的开发,如果过度使用jsp,在jsp中即写大量的java代码,有写html表,造成难于维护,难于分工协作
- 再后来,java的web开发,借鉴mvc开发模式,使得程序的设计更加合理性
MVC:
- M:Model,模型。JavaBean
- 完成具体的业务操作,如:查询数据库,封装对象
- V:View,视图。JSP
- 展示数据
- C:Controller,控制器。Servlet
- 获取用户的输入
- 调用模型
- 将数据交给视图进行展示
- 优缺点:
优点:
- 耦合性低,方便维护,可以利于分工协作
- 重用性高
缺点:
- 使得项目架构变得复杂,对开发人员要求高
- M:Model,模型。JavaBean
三层架构:架构
- 界面层(表示层):用户看的界面。用户可以通过界面上的组件和服务器进行交互。表示层负责接收用户请求、转发请求、显示数据等;
- 业务逻辑层:处理业务逻辑的。
- 数据访问层:操作数据存储文件。持久化业务对象。
三层架构,每层都有自己的套路(杨氏太极拳十八式,就是套路),套路就是模式,就是所谓的架构模式。
- 表示层最常用的套路、模式就是MVC ,MVC就是表示层的一种架构模式。
- 业务层的架构模式有事务脚本模式、领域模型模式、CQRS 等等(另一种说法是贫血、失血、充血、胀血…)。
- 持久层的架构模式有入口模式、数据映射器模式等等。
一般来说,框架 > 架构模式> 设计模式 > 设计原则。
打个比方,Hibernate是一个持久层框架,是数据映射器模式的具体实现,实现时用到了工厂模式等很多设计模式,体现了什么依赖倒转原则、开闭原则、里氏替换原则等等设计原则。
AngularJS是一个客户端 MVC 框架,是 MVC架构模式的一种实现,实现时用到。。。。设计模式,体现了。。。。等设计原则。
Struts/http://ASP.NET MVC是表示层框架。。。。。
041-MVC
https://flepeng.github.io/021-Java-01-course-041-MVC/