关于三层架构Controller,Service,Dao的理解

描述:

  Controller层:控制器的主要工作是流程控制,以及请求回应。根据对应的结果返回对应的视图。具体的业务处理代码不应该写到控制器里面,而是交由Service层实现,如果涉及到了数据库操作,那么Service层还需调用Dao层去执行SQL指令。

  Service层:主要用于封装每个Model和业务相关的通用数据接口,进行前后端交互数据的加工处理,以达到业务逻辑模块化使用的目的。

  Dao层:主要和底层的数据库打交道,这里主要存放业务逻辑对于数据库操作的SQL语句,在被调用时进行数据查询并传递结果给Service层。

理解:

  之前学习过程中在知乎看到一个很有意思的回答,让我一瞬间明白了三层架构的实质意义,在这里分享下。

  以饭店吃饭举例:

  小工就是Dao:负责从食材库里(数据库),取出食材(原始数据),进行简单处理(数据对象化)。

  厨师就是Service:找到小工(Dao)获取各种半成品(对象化数据),加工成所需的菜品(最终数据)。

  跑堂就是Controller:负责接单(提交数据),上菜(响应数据),是顾客和后厨之间的媒介(提供用户和后台程序的接口)。

posted @ 2022-06-18 11:07  天下第一木子李  阅读(696)  评论(0)    收藏  举报