聊一聊耳熟能详的MVC设计模式与三层架构
1.MVC之前
2.MVC设计模式
模型(Model):负责管理应用程序的业务数据、定义访问控制以及修改这些数据的方法。
视图(View):负责与用户进行交互,它从模型中获取数据向用户展示,同时也能将用户请求传递给控制器处理。
控制器(Controller):负责应用程序中处理用户交互的部分,可以从视图中取数据,控制用户输入,并向模型发送数据。
3.三层架构
表示层:又称表现层UI,位于三层构架的最上层,与用户直接接触,主要是用户浏览的页面,其主要功能是实现系统数据的传入与输出,在此过程中不需要借助逻辑判断操作就可以将数据传送到BLL系统中进行数据处理,处理后会将处理结果反馈到表示层中;
业务逻辑层:中间层,对具体问题进行逻辑判断与执行操作,当接收到表现层UI的用户指令后,会连接数据访问层,将数据库访问层的增删改查进行组装,并将处理结果返回给表示层;
数据库访问层:主要用于操作数据库中的数据,实现数据的增删改查操作,并将处理结果返回给业务逻辑层。
4.项目分层
终端显示层:各个端的模板渲染并执行显示的层。当前主要是 velocity 渲染,JS 渲染,JSP 渲染,移动端展示等;
开放接口层:可直接封装 Service 方法暴露成 RPC 接口;通过 Web 封装成 http 接口;进行网关安全控制、流量控制等;
Web层:主要是对访问控制进行转发,各类基本参数校验,或者不复用的业务简单处理等;
Service层:相对具体的业务逻辑服务层;
Manager层:通用业务处理层;
1) 对第三方平台封装的层,预处理返回结果及转化异常信息;
2) 对 Service 层通用能力的下沉,如缓存方案、中间件通用处理;
3) 与 DAO 层交互,对多个 DAO 的组合复用;
DAO层:数据访问层,与底层 MySQL、Oracle、Hbase 等进行数据交互。
外部接口或第三方平台:包括其它部门 RPC 开放接口,基础平台,其它公司的 HTTP 接口。
5.总结