当做一个大项目时候,如果直接写代码,最后的结果是代码繁杂冗乱,层次混乱,
于是在Java中,在实现一个项目的前期准备时,会对项目进行工作的拆分,进行分层处理,就好比一个公司,有财务部门,法务部门,人事部门.........各司其职,这就是粗粒度细化的结果
项目开发也是:前后端一起做,前后端分离,后端根据功能在细分
⽬前现在更主流的开发⽅式是"前后端分离"的⽅式,把整体架构分为表现层、业务逻辑层和数据层.这种分层⽅式称之为"三层架构".
就是展⽰数据结果和接受⽤⼾指令的,是最靠近⽤⼾的⼀层;
负责处理业务逻辑,⾥⾯有复杂业务的具体实现;
负责存储和管理与应⽤程序相关的数据
MVC就是把整个系统分为了 Model(模型) ,View(视图),Controller(控制器)三层
将用户视图和业务处理分隔开,通过Controller建立剩余两者关系,达到低耦合的效果。
按照“三层架构”划分,SpringMVC把(上面的)代码划分为三个部分:
控制层,接受前端发送的请求,并对请求进行处理,并响应数据。
业务逻辑层,处理具体的业务逻辑
数据访问层,也叫数据持久层,主要负责数据的访问操作,包括数据的增删查改
①模型(Model),视图(View)和控制器(Controller)
②强调数据和视图分离,通过控制器对两者进⾏组合
①表现层,业务逻辑层,数据访问层
②强调从不同维度,处理数据的⾼内聚和低耦合,将交互界⾯,业务处理和数据库操作的逻辑分开
比如:模型层拆分出业务逻辑层(Service层)和数据访问层(Dao层)
从概念上来讲,⼆者都是软件⼯程领域中的架构模式
⼆者的⽬的是相同的,都是"解耦,分层,代码复⽤"
①降低层与层之间的依赖,结构明确,利于各层逻辑的复⽤ ②开发⼈员可以只关注整个结构中的其中某⼀层,降低了维护成本和维护时间 ③可以很容易的⽤新的实现来替换原有层次的实现 ④有利于标准化
①类名使⽤⼤驼峰⻛格但以下情形例外:DO/BO/DTO/VO/AO ②⽅法名、参数名、成员变量、局部变量统⼀使⽤⼩驼峰⻛格 ③包名统⼀使⽤⼩写,点分隔符之间有且仅有⼀个⾃然语义的英语单词
⼤驼峰:所有单词⾸字⺟都需要⼤写,⼜叫帕斯卡命名法,⽐如:UserController ⼩驼峰:除了第⼀个单词,其他单词⾸字⺟⼤写,⽐如:userController 蛇形:⽤下划线(_)作⽤单词间的分隔符,⼀般⼩写,⼜叫下划线命名法,⽐如:user_controller 串形:⽤短横线(-)作⽤单词间的分隔符,⼜叫脊柱命名法,⽐如:user-controller