关于三层架构Controller,Service,Dao的理解
描述:
Controller层:控制器的主要工作是流程控制,以及请求回应。根据对应的结果返回对应的视图。具体的业务处理代码不应该写到控制器里面,而是交由Service层实现,如果涉及到了数据库操作,那么Service层还需调用Dao层去执行SQL指令。
Service层:主要用于封装每个Model和业务相关的通用数据接口,进行前后端交互数据的加工处理,以达到业务逻辑模块化使用的目的。
Dao层:主要和底层的数据库打交道,这里主要存放业务逻辑对于数据库操作的SQL语句,在被调用时进行数据查询并传递结果给Service层。
理解:
之前学习过程中在知乎看到一个很有意思的回答,让我一瞬间明白了三层架构的实质意义,在这里分享下。
以饭店吃饭举例:
小工就是Dao:负责从食材库里(数据库),取出食材(原始数据),进行简单处理(数据对象化)。
厨师就是Service:找到小工(Dao)获取各种半成品(对象化数据),加工成所需的菜品(最终数据)。
跑堂就是Controller:负责接单(提交数据),上菜(响应数据),是顾客和后厨之间的媒介(提供用户和后台程序的接口)。

浙公网安备 33010602011771号