前后端项目结构规范
-
无规矩不成方圆,做前后端项目也需要有一些规范约束。目前前后端结构分为各个层:其中开放 API 层:这一层里所有的东西都可直接封装 Service 接口并且能够暴露成 RPC 接口;而且可以通过 Web 封装成 http接口,或者网关控制层等。
终端显示层:这一层是各个端的模板渲染并执行显示的层。目前最主要是 velocity渲染、JS 渲染、JSP 渲染、或者是移动端展示等。
Web 层:这一层主要是进行对访问控制的转发,各类基本参数校验,或者不复用的业务简单处理等。
Service 层:这一层说针对于具体的业务逻辑服务层。Manager 层:这一层通用于业务处理层,它拥有如下三个特征:第一个特征是它对第三方平台封装的层,可以进行预处理返回结果,并且能够转化异常信息,以适配上层接口。第二个特征是对 于Service 层通用能力的下沉,例如作用于缓存方案、中间件通用处理。第三个特征是与 DAO 层进行交互,对多个 DAO 的组合进行复用。
DAO 层:这一层是用来进行数据访问,并且能够与底层 的MySQL、Oracle、Hbase、OB 等进行数据交互。第三方服务:这一层主要的功能是与其它部门 RPC 服务接口,基础平台,并且实现与其它公司的 HTTP 接口,例如淘宝开放平台、支付宝付款服务、高德地图服务等。
外部数据接口:这一层是为外部应用或者数据存储服务提供的接口,在实际中多见于数据迁移场景中。并且分层领域模型规约具有以下几点:
DO(Data Object)对象:此对象是与数据库表结构实现一一对应,并且通过 DAO 层向上传输数据源对象。DTO(Data Transfer Object):它是一个数据传输对象,是一个能够支持Service 或 Manager 向外传输的对象。
BO(Business Object):是一个业务对象,可以由 Service 层输出封装业务逻辑的对象。
Query:是一个数据查询对象,各层都用于接收上层的查询请求。但需要注意的是,当超过 2 个参数的查询封装时,要禁止使用 Map 类来传输。
VO(View Object):是一个显示层的对象,通常是 由Web 向模板渲染引擎层进行传输的对象。
西南地区IT社群(QQ)
- 云南
- 【昆明网页设计交流吧】243627302
- 【昆明nodejs交流吧】 243626749
- 【VUE】838405306
- 【云南程序员总群】343606807
- 【昆明UI设计】104031254
- 【云南软件外包】15547313
- 贵州
- 【PHP/java源码/站长交流群】55692114
- 四川
- 【成都Java/JavaWeb交流】86669225
- 【vaScript+PHP+MySql】116270060
- 【UI设计/设计交流学习群】135794928
- 重庆
- 【诺基亚 JAVA游戏博物馆】 559479780
- 【PHP,Java,Python,C++接单】 442103442
- 西藏