1. java开发时为什么要和service都是model层吗
是数据访问层。DAO(Data Access Object) 数据访问对象是第一个面向对象的接口.
service是业务层,负责所有的专业务逻辑处理。
model属于数据实属体模型。和数据库的数据字段是基本对应的,model也可以增加一些数据库没有的虚拟字段,帮助处理业务。
这样分层的好处是降低程序耦合度。
2. Dao层到底是做什么的service和Dao层有什么关系说得具体一些。
Dao层:主要是做数据持久层的工作,负责与数据库进行联络的一些任务都封装在此,DAO层的设计首先是设计DAO的接口,然后就可在模块中调用此接口来进行数据业务的处理,而不用关心此接口的具体实现类是哪个类,显得结构非常清晰,DAO层的数据源配置。
层代码示例:
层和service层关系:service层经常要调用层的方法对数据进行增删改查的操作,现实开发中,对业务的操作会涉及到数据的操作,而对数据操作常常要用到数据库,所以service层会经常调用层的方法。
(2)数据库层扩展阅读
Service层是建立在DAO层之上的,建立了DAO层后才可以建立Service层,而Service层又是在Controller层之下的,因而Service层应该既调用DAO层的接口,它刚好处于一个中间层的位置。每个模型都有一个Service接口,每个接口分别封装各自的业务处理方法。
在实际开发中DAO层大多是对某张表进行增删改查,都是一些固定的语句,除非涉及到更复杂的service层业务逻辑,才可能要添加更复杂的DAO层方法。
3. 一个项目中说系统分为表现层、控制层、逻辑层、DAO层和最终数据库五层架构 这具体是什么意思啊
1、表现层:主要功能是显示数据和接受传输用户的数据,可以在为网站的系统运行提供交互式操作界面,表现层的应用方式比较常见,例如Windows窗体和Web页面。
2、控制层:将业务规则、数据访问、合法性校验等工作进行处理。通过COM/DCOM通讯与逻辑层建立连接。
3、逻辑层:将用户的输入信息进行甄别处理,分别保存。建立新的数据存储方式,在存储过程中对数据进行读取,将“商业逻辑”描述代码进行包含。
4、DAO层:主要是对非原始数据(数据库或者文本文件等存放数据的形式)的操作层,对数据库的操作,而不是数据,具体为业务逻辑层或控制层提供数据服务。
5、最终数据库:是数据库的主要操控系统,实现数据的增加、删除、修改、查询等操作。实际运行的过程中,最终数据库没有逻辑判断能力,为了实现代码编写的严谨性,提高代码阅读程度,一般软件开发人员会使用DAO层,保证数据处理功能。
(3)数据库层扩展阅读:
系统分为表现层、控制层、逻辑层、DAO层和最终数据库五层架构的优点是:
1、开发人员可以只关注整个结构中的其中某一层。
2、可以很容易的用新的实现来替换原有层次的实现。
3、可以降低层与层之间的依赖。
4、有利于标准化。
5、利于各层逻辑的复用。
6、结构更加的明确。
7、在后期维护的时候,极大地降低了维护成本和维护时间。
8、避免了表示层直接访问数据访问层,表示层只和业务逻辑层有联系,提高了数据安全性。
9、有利于系统的分散开发,每一个层可以由不同的人员来开发,只要遵循接口标准,利用相同的对象模型实体类就可以了,这样就可以大大提高系统的开发速度。
10、方便系统的移植,如果要把一个C/S的系统变成B/S系统,只要修改三层架构的表示层就可以了。业务逻辑层和数据访问层几乎不用修改就可以轻松的把系统移植到网络上。
11、项目结构更清楚,分工更明确,有利于后期的维护和升级。