三层架构与MVC

本文介绍了软件分层的概念及优势,详细解释了表示层、业务逻辑层和数据访问层的功能。同时对比了MVC设计模式,阐述了其组成部分(模型、视图、控制器)及其工作原理,并探讨了两者之间的区别与联系。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. 什么是三层?
    1. 软件为什么要分层?
      1. 软件本身灵活性更大,使得软件更新、维护很容易进行,而不需要将整个软件重新发布
      2. 方便团队分工,比如开发可分为界面设计人员、业务实现人员、数据库设计人员等等,充分发挥每个人的特长,提高开发效率。
      3. 忽略数据库差异:SQLAccessOracle MySQL等可以方便更换。
    1. 三层
      1. 表示层(UI)
        1. 展示给用户的界面,用户在使用系统时所能看到的。
        2. 用于显示数据和接受数据,为用户提供一个交互式操作界面。
      1. 业务逻辑层(Business Logic Layer)
        1. 与系统所对应的领域(Domain)有关,包括业务规则、逻辑、实现。
        2. 处于数据访问和表示层中间,起到了数据交换中承上启下的作用。
        3. 三层中底层不应该依赖于上层,并面向接口编程。
      1. 数据访问层(Data Access Layer)
        1. 主要功能是访问数据库文件,比如:数据库系统、文本文件、XML文档、二进制文件、word文档、Excel文档等等
    1. 如何进行分层?
      1. 面向接口编程
      1. 应用设计模式

  1. 什么是MVC?
    1. MVC是“Model View Controller”的缩写,即模型、视图、控制器

        1. View可以用Composite Pattern实现;
        2. 只要Controller改变了Models的数据或者属性,所有依赖的View都会自动更新,所以,ViewModel之间可以用Observer pattern 来实现。
        3. Controller控制View显示;可以用strategy Pattern来实现。
        4. Model可以用MediatorPattern来实现
    1. MVC是一种复杂的设计模式,由多种设计模式组合才能实现MVC架构。
      1. Model
        1. 业务规则、流程、逻辑处理,业务流程的处理过程对其它层来说是黑箱操作,模型接受视图请求的数据,并返回最终的处理结果。
      1. View
        1. 视图(View)代表用户交互界面,一个应用可能有很多不同的视图,MVC设计模式对于视图的处理仅限于视图上数据的采集和处理,以及用户的请求,而不包括在视图上的业务流程的处理。业务流程的处理交予模型(Model)处理。
      1. Controller
        1. 从用户接收请求, 将模型与视图匹配在一起,共同完成用户的请求。
        2. 模型、视图与控制器的分离,使得一个模型可以具有多个显示视图。
  1. 三层架构、MVC的区别与联系
    1. 区别
      1. MVC是一种设计模式,而三层架构是一个概念,MVC可以是UIBLL两层分开。
      2. MVCModel由业务逻辑和数据访问两层组成。
    1. 联系
      1. 都有表示层(视图层)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值