比较MVC与三层架构

来源:互联网 发布:做金融网络销售怎么样 编辑:程序博客网 时间:2024/04/29 03:53

一、各种名词的基本定义

 

1、了解ASP.NET

 

ASP是一种使嵌入网页中的脚本可由因特网服务器执行的服务器端脚本技术。

ASP.NET 是ASP(微软动态服务器网页技术)的最新版本。

ASP.NET 是Microsoft.NET 框架的组成部分,同时也是创建动态交互网页的强有力的工具。

.NET 框架是微软 .NET 平台的基础结构。

.NET 框架是构建、开发及运行Web 应用程序和Web 服务的一种环境。

.NET 框架含有公共语言运行库和公共类库比如ADO.NET、ASP.NET 以及Windows 窗体- 来提供可整合入各种计算机系统的高级标准服务。

 

2、了解MVC

 

MVC是多种模式综合应用,应该算是一种架构模式(一个架构模式常常可以分解成很多个设计模式的联合使用)。

MVC包括三类对象,Model是应用对象,View是它在屏幕上的表示,Controller定义用户界面对用户输入的响应方式。如果不使用MVC,则用户界面设计往往将这些对象混在一起,而MVC则将它们分离已提高灵活性和复用性。

 

3、了解三层架构

 

三层架构(3-tier architecture) 通常意义上的三层架构就是将整个业务应用划分为:表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL)。

 

4、了解ASP.NET MVC

 

ASP.NET MVC是微软的开发团队基于MVC开发的一个易于被测试的框架。

 

二、MVC与三层架构的区别

 

1、相同点:

 

具有相同的设计理念就是:把视图设计与数据持久化进行分离,从而降低耦合性,易于扩展,提高团队开发效率。

 

2、不同点:

 

a、三层是基于业务逻辑来分的,而mvc是基于页面来分的;

 

b、MVC模式是一种复合设计模式,一种解决方案;三层是一种软件架构,通过接口实现编程。

三层模式是体系结构模式,MVC是设计模式;三层模式又可归于部署模式,MVC可归于表示模式;

 

c、三层架构和mvc设计模式侧重点不一样,三层是一种笼统的架构思想,没有限制具体的设计;而mvc就比较具体的说明它的设计方法;

 

d、在三层中也提到了Model,但是三层架构中Model的概念与MVC中Model的概念是不一样的,“三层”中典型的Model层是以实体类构成的,而MVC里,则是由业务逻辑与访问数据组成的;

 

e、用图来表示它们之间的关系

  

 

3、实现

 

a、三层架构在不同平台上的实现

 

三层结构跟语言关系不大,结构的设计都是一样的。只不过是在不同平台上使用不同的语言库和方法。

一般Java的话,表示层(前端)可以用JSP,Flex等做,中间层用的是J2EE的服务器,运行在Tomcat或者JBoss上,数据层可以用Hibernate来做。

.NET的话,前端就是ASP,中间层用C#等语言编写。

 

b、MVC的在不同平台上的实现

 

同样的,MVC模式的设计不会变,只不过是在不同的平台上有不同的规范。

在Java平台上(J2EE)

和其他的各种框架不一样,J2EE为模型对象(Model Objects)定义了一个规范。

Swing是一个标准的MVC结构. ComponentUI代表View, 负责描画组件. 组件尤其Model层。

在.NET平台上

 在ASP.NET中,针对视图(View)和控制器(Controller)的模式没有被很好地定义。而模型(Model)则留给开发者去设计。

在ASP.NET MVC中,一般情況下模型通常搭配LINQ to SQL类别(使用O/R Designer工具所制作而成的DBML档)或ADO.NET实体资料模型來实作。

原创粉丝点击