Web应用三层架构(对于整个项目应用而言)

1.客户端层UI层:主要用来与用户进行交互,显示数据并接收用户的输入,也常称为前端。一般对于一个应用通常会存在多种客户端(前端),如Web,H5,App等。

2.应用层:是系统核心价值部分,其关注业务规则的制定和业务流程的实现,负责与UI层进行交互及数据存储的处理,常称为后端。

3.存储层:也称为持久层,通常是一个数据库,主要用来保存我们的业务数据。当然这里数据存储指的不仅仅是关系型数据库(Mysql,SQLserver),也包含非关系型数据库,如MongoDB,Redis或者文件存储系统(nas),存储附件,多媒体文件或图片。

上述三层应用架构指的是整个应用架构上的划分。

其实对于后端(应用层)的开发在架构搭建时往往也可以分为一下三层。

Java后端(应用层)三层架构(对于后端而言)

1.业务逻辑层:该层主要承担两大职责,一是定义业务领域对象,或称为业务实体,二是业务逻辑的具体实现。业务实体常称为Domain,而业务逻辑则是Service。

2.接口层(API层):该层用来对接UI层,为UI层提供数据集业务处理接口,一般将其称为Controller。此外,现在的应用开发一般会对接多种用户端UI层,所以尝尝这里使用Rest方式提供API接口,供各个应用端使用,因此也可以称之为API层。

3.数据接口层(DAO):负责业务实体对象的数据处理,如增、删、改、查等,通常定义为Repository。该层开发是往往会使用O/R Mapping技术,如Mybatis。此外,数据接口层也包含对非关系型数据及文件或云存储(OSS)的处理。