浅谈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,数据库,UI,interface,layer)