- 什么是三层?
- 软件为什么要分层?
- 软件本身灵活性更大,使得软件更新、维护很容易进行,而不需要将整个软件重新发布
- 方便团队分工,比如开发可分为界面设计人员、业务实现人员、数据库设计人员等等,充分发挥每个人的特长,提高开发效率。
- 忽略数据库差异:SQL 、Access、 Oracle、 MySQL等可以方便更换。
- 三层
- 表示层(UI)
- 展示给用户的界面,用户在使用系统时所能看到的。
- 用于显示数据和接受数据,为用户提供一个交互式操作界面。
- 业务逻辑层(Business Logic
Layer)
- 与系统所对应的领域(Domain)有关,包括业务规则、逻辑、实现。
- 处于数据访问和表示层中间,起到了数据交换中承上启下的作用。
- 三层中底层不应该依赖于上层,并面向接口编程。
- 数据访问层(Data Access
Layer)
- 主要功能是访问数据库文件,比如:数据库系统、文本文件、XML文档、二进制文件、word文档、Excel文档等等
- 表示层(UI)
- 如何进行分层?
- 面向接口编程
- 应用设计模式
- 软件为什么要分层?
- 什么是MVC?
- MVC是“Model
View Controller”的缩写,即模型、视图、控制器
-
- View可以用Composite Pattern实现;
- 只要Controller改变了Models的数据或者属性,所有依赖的View都会自动更新,所以,View和Model之间可以用Observer pattern 来实现。
- Controller控制View显示;可以用strategy Pattern来实现。
- Model可以用Mediator Pattern来实现
-
- MVC是一种复杂的设计模式,由多种设计模式组合才能实现MVC架构。
-
Model
- 业务规则、流程、逻辑处理,业务流程的处理过程对其它层来说是黑箱操作,模型接受视图请求的数据,并返回最终的处理结果。
-
View
- 视图(View)代表用户交互界面,一个应用可能有很多不同的视图,MVC设计模式对于视图的处理仅限于视图上数据的采集和处理,以及用户的请求,而不包括在视图上的业务流程的处理。业务流程的处理交予模型(Model)处理。
-
Controller
- 从用户接收请求, 将模型与视图匹配在一起,共同完成用户的请求。
- 模型、视图与控制器的分离,使得一个模型可以具有多个显示视图。
-
Model
- MVC是“Model
View Controller”的缩写,即模型、视图、控制器
- 三层架构、MVC的区别与联系
- 区别
- MVC是一种设计模式,而三层架构是一个概念,MVC可以是UI与BLL两层分开。
- MVC中Model由业务逻辑和数据访问两层组成。
- 联系
- 都有表示层(视图层)
- 区别