java开发时为什么要dao和service都是model层吗?

Python012

java开发时为什么要dao和service都是model层吗?,第1张

dao是数据访问层。DAO(Data Access Object) 数据访问对象是第一个面向对象的接口.\x0d\x0aservice是业务层,负责所有的业务逻辑处理。\x0d\x0amodel属于数据实体模型。和数据库的数据字段是基本对应的,model也可以增加一些数据库没有的虚拟字段,帮助处理业务。\x0d\x0a这样分层的好处是降低程序耦合度。

mvc这个常用的模式。v是视图,很快就知道了view。

c是Controller,控制器,就是接受请求返回请求的东西,都不包含逻辑处理。调用model的东西进行逻辑处理。

所以model层就是逻辑处理层。

当然分层的好处是低耦合等

Model1:

Model1的中心是JSP页面,JSP页面中结合业务逻辑、服务端处理过程和HTML等,这样就在JSP页面中同时实现了业务逻辑和流程控制。从而快速开发。

Model1的优缺点:

优点:简单,快速开发,适用小规模开发;

缺点:业务逻辑和表示逻辑混合在JSP页面中没有进行抽象和分离,JSP负载太大。所以非常不利于应用系统业务的重用和改动,不便于维护。

Model2:

Model 2表示的是基于MVC模式的框架。MVC “Model”代表的是应用的业务逻辑(通过JavaBean,EJB组件实现),“View”是应用的表示面(由JSP页面产生), “Controller ”是提供应用的处理过程控制(一般是一个Servlet),通过这种设计模型把应用逻辑,处理过程和显示逻辑分成不同的组件实现。这些组件可以进行交互和重用。从而弥补了Model1的不足。

Model2其实是在Model1基础上又抽了一层控制层。

Model2优缺点:

优点:具有组件化的优点从而更易于实现对大规模系统的开发和管理。职责划分清晰。

缺点:不适合小项目开发。