在项目架构时会对所要设计的系统进行分层,一般会分为三层,分别是表示层,中间层和数据访问层。
为什么要分层
分层是为了将工作进行细分,每个部分各司其职,达到高内聚低耦合,这样在某一部分出现故障时就可以方便修改,不会影响整体架构
为什么要三层结构
在两层结构中将表示层和业务逻辑以及数据访问放到同一个部分中,与数据库直接相连,这种结构的设计时高耦合,修改其中的某个部分就需要同时改变其他部分,比如当数据库或用户界面发生改变时,这也将牵动业务逻辑和数据访问的改变,这样在开发时不仅会加大调试的难度,还可能因为某些部分的修改影响整体架构。
而三层结构是将每部分都分开,就是将各部分解耦,每一层只需要负责做好自己的事,因为层次之间是通过数据传递的形式联系,其他层次更改时只需要微调传输内容即可
MVC框架
MVC全名是Model View Controller,是一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。
1、视图view
view表示用户交互页面,用来将内容显示给用户,一个应用可能有很多不同的视图,MVC设计模式对于视图的处理仅限于视图上数据的采集和处理,以及用户的请求,而不包括在视图上的业务流程的处理。
2、控制器controller
controller是协调模型和视图的中间件,用户在交互页面发送请求后,请求到达服务器的controller上,由controller将请求和view里得到的数据分发到完成这个请求所需要的model上,在model完成相关动作后将内容反馈给controller,再由控制器回馈给view。
3、模型model
在MVC框架中model就类似于业务层,在model中包含了实现业务的组件,在控制器传递请求到model,model在知道要做什么和controller需要返回什么后就可以以准确的方式完成controller的任务
三层结构与MVC框架的区别
三层结构可以用于任何语言,任何技术的应用程序,就是将项目分成表现层,中间层和数据层,而MVC框架只是为了解决BS应用程序视图层各部分的耦合关系,与三层结构互不冲突,三层结构和MVC框架的核心想法都是解耦。