在Java里面,开发都要遵循一套模式:
MVC
M: Model(模型,即JavaBean)
V: View(视图,及页面)
C: Controller (控制层,即与前端交互的类)
然后就是service、dao和controller:
controller:控制层,接收前端传过来的数据
service:业务层,处理制层传过来的数据
dao:数据访问层,即把业务层传过来的数据存放在数据库
这样的设计都是方便开发中的维护,假如你写程序随便写,名称随便定义,然后再改bug的时候,你会让开发者生不如死。然后就是层与层之间互相不干扰,自己处理自己的事情
通俗点讲,就是:
如果去饭店吃饭,不可能找厨师点菜吧?
小工负责食材存取,洗菜切肉;
厨师负责烹饪;
跑堂负责接待食客并与后厨沟通。
这就是精典的分层体现。如果一个厨师既负责跑堂,又负责烹饪。那这个饭店的管理一定非常混乱吧。
小工就是DAO,从食材库里(数据源)取出食材(原始数据),进行简单处理(数据对象化)。
厨师就是Service,找到小工(DAO),获取各种半成品(对象化数据),加工成顾客需要的菜肴(最终数据)。
跑堂就是Controller,负责接单(提交数据)上菜(响应数据),是顾客与后厨间的媒介(提供用户与后台程序的接口)。
各司其职(高内聚),轻松协作(低耦合),就是分层思想的目标。