JAVA,对Model1、Model2两个架构的掌握是必不可少的。下面我们一起见证一下从Model1到Model2(MVC)再
到典型三层架构的华丽转变过程。
Model1架构
简单来讲,Model1是以JSP为核心实现的。jsp页面独自响应客户端请求并将处理结果返回给客户,在JSP页面
中结合了业务逻辑、服务端处理过程和HTML等,这样就在JSP页面中同时实现了业务逻辑和流程控制从而快速开
发。
优点
架构简单, 开发速度快,适合小型项目开发。
缺点
JSP职责过重,违反了职责单一原则
JSP中嵌入了大量java、html代码,导致重复的代码过多,不易于维护
不利于应对需求变化,耦合度高,可扩展性低
Model2(MVC)架构
基于Model1架构暴露的一系列缺点,Model2在Model1的基础上对JSP进行任务分离抽象出了控制层,将获取参
数、调用业务逻辑等转到Servlet处理,JSP只负责进行页面显示。因此,Model2也可以理解为简单的MVC模式。
优点
职责明确,较适合于大型项目的开发。
有利于人员分工,便于管理
有利于组件重用,耦合度较低
能更好的应对需求变化,可扩展性较高
缺点
分层太多,增加了系统开发的复杂度
不适合于小型项目开发
三层架构
在实际开发过程中,我们会发现Model2架构也存在一些很明显的缺陷,比如原来只需要显示姓名和年龄两个信
息,现在需要同时显示性别信息,这时候就需要修改业务逻辑层的代码实现,违背了封闭原则。此时我们就会考虑对
Model2更进一步抽象,将对数据库的操作提取到持久化逻辑层实现。
这是非常典型的三层架构UBD模式。U层,JSP/Servlet,主要负责前台显示;B层,业务逻辑层,主要负责各种
业务逻辑的处理;D层:持久化层,主要负责对数据库的一系列操作。三层架构明确划分了各层职责,降低了耦合
度,增强了程序灵活性。
关键字:Model1 Model2 三层架构 JSP Servlet