文章目录
github:https://github.com/LawssssCat/learn-springboot-quick
1 项目简介
1.1 概述
动吧旅游生态系统,应市场高端用户需求,公司决定开发这样的一套旅游系统,此系统包含旅游电商系统(广告子系统,推荐子系统,评价子系统,商品子系统,订单子系统,…),旅游分销系统(分销商的管理),旅游业务系统(产品研发,计调服务,系统管理,…),,。。。
1.2 原型分析
基于用户需求,进行原型设计(基于html+css+js进行静态页面实现)。例如系统登录页面:
系统登录成功页面(例如starter.html)
菜单展示页面
说明:原型设计好以后,会与客户进行确认,确认好以后进行签字,然后就是设计和实现.
2 技术架构
2.1 项目分层架构
本项目应用层基于MVC设计思想,进行分层架构设计,其核心目的是将复杂问题简单化,实现各司其职,各尽所能.然后基于“高内聚,低耦合”的设计思想,再实现各对象之间协同,从而提高系统的可维护性,可扩展性。
其中:
-
开放接口层:可直接封装 Service 方法暴露成 RPC (远程过程调用)接口;也可通过 Web 封装成 http 接口;同时也可进行网关安全控制、流量控制等。
-
终端显示层:负责各个端的模板渲染并显示。当前主要是 thymeleaf 渲染,JS 渲染,移动端展示等。
-
Web请求处理层:主要是对访问控制进行转发,请求参数校验,响应结果处理等
-
Service 层:相对具体的业务逻辑服务层(核心业务,扩展业务)。
-
Manager 层:通用业务处理层,它有如下特征:
- 对第三方平台封装的层,预处理返回结果及转化异常信息;
- 对 Service 层通用能力的下沉,如缓存方案、中间件通用处理;
- 与 DAO 层交互,对多个 DAO 的组合复用。
-
DAO 层:数据访问层,与底层 MySQL、Oracle、Hbase 等进行数据交互。
2w.外部接口或第三方平台:包括其它部门 RPC 开放接口,基础平台,其它公司的 HTTP 接口
说明:对如上分层中涉及到知识的点,逐步加强。
总之:分层的目的就是将复杂问题进行拆解,然后分而治,进而提高系统的可扩展性以及可维护性。
2.2 API应用架构
整体API应用架构: