`
coolerbaosi
  • 浏览: 727057 次
文章分类
社区版块
存档分类
最新评论

浅谈MVC模式与三层架构

 
阅读更多

三层架构:软件的三层架构通常意义上是将软件的整个业务应用划分为:UI(User Interface)、BLL(Business Logic Layer)以及DAL(Data Access Layer)这三层(即我们通常所说的表示层,业务逻辑层和数据访问层)外加一个实体类库和一个SQLhelper类。他们之间的关系可以通过下面这张图片表示出来:

UI层:用户界面层,即用户在使用系统时所面对的交互界面。用户通过UI层输入数据也可以通过UI层展现获取的数据。为用户与数据库交互的入口。

BLL层:业务逻辑层,简单来讲业务逻辑层是针对具体的功能,对DAL层数据的处理进行逻辑处理。

DAL层:数据访问层,该层所负责的是对数据库进行操作,但是出于解耦的目的,DAL层并不是直接对数据库进行操作,而是通过SQLHelper来间接的对数据库进行访问。

SQLHelper可以将它设计成一个类库,通过与设计模式的结合可以通过调用其中所包含的不同的类的不同的方法实现对数据库的增删改查等操作。

Modal:实体类,实体类所对应的是数据库中的各种表。

在UI层、BLL层和DAL层中传递的参数一般就是实体类,UI层通过调用BLL层的相应方法,BLL层调用DAL层的相应方法,DAL层调用SQLHelper的相应方法来实现对数据库的各种操作。

MVC设计模式:MVC(Model View Controller),模型-视图-控制器模式。MVC模式与三层架构是软件设计中的两种不同的模式。三层架构指的是对软件体系架构的设计,各层之间具有严格的上下层依赖关系。而MVC是对软件展现层的设计,Model是指数据以及应用程序逻辑,View是指 Model的视图,也就是用户界面。这两者都很好理解,关键点在于Controller的角色以及三者之间的关系。在MVC模式中,Controller和View同属于表现层,通常成对出现。Controller被设计为处理用户交互的逻辑。一个通常的误解是认为Controller负责处理View和Model的交互,而实际上View和Model之间是可以直接通信的。由于用户的交互通常会涉及到Model的改变和View的更新,所以这些可以认为是Controller的副作用。另外,三者之间也并没有上下层依赖关系。

分享到:
评论

相关推荐

    简单易懂的三层架构(MVC)

    不久之后,我写了一篇题目为《浅谈“三层结构”原理与用意》的文章。旧版文章以彬月论坛程序中的部分代码举例,通过全局视角阐述了什么是“三层结构”的开发模式?为什么要这样做?怎样做?……而在这篇文章的新作中...

    浅谈开发模式技术架构的发展趋势――J2EE技术 (2011年)

    J2EE是当前流行的三层/多层架构,重点阐述J2EE平台的优点及典型的四层结构,介绍J2EE平台中常用的JavaBean组件技术,并对MVC设计模式进行探讨。

    asp.net知识库

    C#中结构与类的区别 C#中 const 和 readonly 的区别 利用自定义属性,定义枚举值的详细文本 Web标准和ASP.NET - 第一部分 XHTML介绍 在ASP.NET页面中推荐使用覆写(Override)而不是事件处理(Event Handler) 常用...

    ASP.NET3.5从入门到精通

    17.2.3 ASP.NET MVC 应用程序的结构 17.2.4 运行ASP.NET MVC 应用程序 17.3 ASP.NET MVC 原理 17.3.1 ASP.NET MVC 运行流程 17.3.2 ASP.NET MVC 工作原理 17.4 ASP.NET MVC 开发 17.4.1 创建ASP.NET MVC 页面 17.4.2...

    ASP.NET 3.5 开发大全11-15

    17.2.3 ASP.NET MVC应用程序的结构 17.2.4 运行ASP.NET MVC应用程序 17.3 ASP.NET MVC原理 17.3.1 ASP.NET MVC运行流程 17.3.2 ASP.NET MVC工作原理 17.4 ASP.NET MVC开发 17.4.1 创建ASP.NET MVC页面 17.4.2 ASP...

    ASP.NET 3.5 开发大全

    17.2.3 ASP.NET MVC应用程序的结构 17.2.4 运行ASP.NET MVC应用程序 17.3 ASP.NET MVC原理 17.3.1 ASP.NET MVC运行流程 17.3.2 ASP.NET MVC工作原理 17.4 ASP.NET MVC开发 17.4.1 创建ASP.NET MVC页面 17.4.2 ASP...

    ASP.NET 3.5 开发大全1-5

    17.2.3 ASP.NET MVC应用程序的结构 17.2.4 运行ASP.NET MVC应用程序 17.3 ASP.NET MVC原理 17.3.1 ASP.NET MVC运行流程 17.3.2 ASP.NET MVC工作原理 17.4 ASP.NET MVC开发 17.4.1 创建ASP.NET MVC页面 17.4.2 ASP...

    ASP.NET 3.5 开发大全word课件

    17.2.3 ASP.NET MVC应用程序的结构 17.2.4 运行ASP.NET MVC应用程序 17.3 ASP.NET MVC原理 17.3.1 ASP.NET MVC运行流程 17.3.2 ASP.NET MVC工作原理 17.4 ASP.NET MVC开发 17.4.1 创建ASP.NET MVC页面 17.4.2 ASP...

    ASPNET35开发大全第一章

    17.2.3 ASP.NET MVC应用程序的结构 17.2.4 运行ASP.NET MVC应用程序 17.3 ASP.NET MVC原理 17.3.1 ASP.NET MVC运行流程 17.3.2 ASP.NET MVC工作原理 17.4 ASP.NET MVC开发 17.4.1 创建ASP.NET MVC页面 17.4.2 ASP...

    JAVA自学之路

    与此同时,是的,与此同时,和JavaSE的学习同步,建议大家研究一下数据结构与算法。 在这儿之后,你可以选择向J2ME、或者Java GUI、Socket编程等方向努力,但是通过第一篇的办法,你可以很容易就将这方向过滤掉...

Global site tag (gtag.js) - Google Analytics