项目分层(分包)的作用
程序为什么要分包分层?
以顾客去饭店吃饭案例分析一下:
小饭店: 一个服务员搞定(接待顾客点菜炒菜)
大饭店:
迎宾员(是否有预定 询问吃中餐还是西餐或者烧烤等 几位用餐 领路到指定的包间 找点菜员为顾客点菜 )
点菜员(记录顾客点餐内容 记录是否有忌口等问题 找厨师为顾客炒菜)
厨师(按照顾客菜肴清单,进行炒菜)
通过案例发现,当程序规模小的时候,可以一个人全部完成;但程序规模大的时候,一个人难以完成,这时,要采用多人合作的方式来完成程序开发。
多人合作方式将会碰到工作任务分配问题,这时我们会想,每个人负责完成项目的一块内容就可以了。那么,这一块块内容的划分,就需要我们采用分层(分包)的方式完成了。
通过下图(用户注册功能)来讲解下,项目中常见的分层(分包)。
l view层作用: 视图层,即项目中的界面
l controller层作用: 控制层, 获取界面上的数据,为界面设置数据; 将要实现的功能交给业务层处理
l service层作用: 业务层, 功能的实现, 与controller控制层和数据访问层DAO交互, 将对数据库的操作交给DAO数据访问层来处理(java逻辑)
l dao层作用: 数据访问层, 用来操作数据库表的数据
l db数据库: 这里指MySQL
l domain 实体包: 存放JavaBean
l tools工具包:存放项目中使用到的工具类
l test 测试包: 存放项目功能测试的代码