织梦app网站模板重大新闻事件2023
一般可分为3层,如果业务复杂也可以进一步细分。
1.Web层
Web主要负责接收前端的Http请求,对数据做初步校验,然后将数据封装,传给业务层,将数据封装是为了统一对下层的接口,后续改动时只需在本层改就行了。
2.业务层
Service,业务层,顾名思义,负责处理后台具体的业务逻辑,向上接收Web层传递下来的对象,向下获取持久层提供的数据接口。
一般XxxService都是接口,XxxServiceImpl是Service的实现类。
3.持久化层
持久化层主要负责数据的持久化,大部分是对数据库或者文件的读写操作。对上,给业务层提供数据,对下,连接具体的数据存储,如数据库等。
4.名词
4.1 DAO (Data Access Object, 数据访问对象)
DAO是面向对象软件中,对访问RDBMS或文件系统的一个封装的模式。用数据库访问技术(JDBC,ODBC,Hibernate,iBatis等)和数据库实体进行交互,实现数据存取操作。通常将数据访问这部分的逻辑与业务逻辑分离,保证业务代码不随持久化方式的变化而变化,持久层模型的一种。
4.3 ORM Object-Relation Mapping
对象关系映射,将对象,对象的属性以及对象之间的关系保存在关系型数据库的表中,通过建立对象和表的映射,由系统自动生成,插入,更新,删除和查询的SQL语句,包括Hibernate,iBatis等。
4.4 Domain 领域对象
domain, bean, pojo, entity保存数据的实体,这些类通常与数据库中的表对应,如public classPerson实体对应数据库的Person表等。只有private属性和public setXxx和getXxx.具体的实例就是对应表中的一行。
4.5 POJO
POJO 一般认为是简单的java对象,Plain Old Java Object,就是只有private成员变量和get,set方法。如PO(Persistent Object,持久对象),BO(Business Object,业务对象,封装对象,复杂对象,里面可能包含多个类),DTO(Data Transfor Object,数据传输对象,前端调用时传输,主要用于远程调用等需要大量传输对象的地方), VO(Value Object 值对象 View Object,前端界面展示,用一个VO对象对应整个界面的值).