三层架构与MVC

  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. 都有表示层(视图层)

在刚刚步入“多层结构”Web应用程序开发的时候,我阅读过几篇关于“asp.net三层结构开发”的文章。但其多半都是对PetShop3.0和Duwamish7的局部剖析或者是学习笔记。对“三层结构”通体分析的学术文章几乎没有。 2005年2月11日,Bincess BBS彬月论坛开始试运行。不久之后,我写了一篇题目为《浅谈“三层结构”原理与用意》的文章。旧版文章以彬月论坛程序的部分代码举例,通过全局视角阐述了什么是“三层结构”的开发模式?为什么要这样做?怎样做?……而在这篇文章的新作,配合这篇文章我写了7个程序实例(TraceLWord1~TraceLWord7留言板)以帮助读者理解“三层结构”应用程序。这些程序示例可以在随带的CodePackage目录找到——   对于那些有丰富经验的Web应用程序开发人员,他们认为文章写的通俗易懂,很值得一读。可是对于asp.net初学者,特别是没有任何开发经验的人,文章阅读起来就感到非常困难,不知文章所云。甚至有些读者对“三层结构”的认识更模糊了……   关于“多层结构”开发模式,存在这样一种争议:一部分学者认为“多层结构”与“面向对象的程序设计思想”有着非常紧密的联系。而另外一部分学者却认为二者之间并无直接联系。写作这篇文章并不是要终结这种争议,其行文目的是希望读者能够明白:在使用asp.net进行Web应用程序开发时,实现“多层结构”开发模式的方法、原理及用意。要顺利的阅读这篇文章,希望读者能对“面向对象的程序设计思想”有一定深度的认识,最好能懂一些“设计模式”的知识。如果你并不了解前面这些,那么这篇文章可能并不适合你现在阅读。不过,无论这篇文章面对的读者是谁,我都会尽量将文章写好。我希望这篇文章能成为学习“三层结构”设计思想的经典文章!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值