关于MVC模式与三层架构的一些理解

一直埋头写代码,很少关心什么模式啊,架构啊,每次面试的时候就被问的晕头转向,了解了一下,其实没啥东西。

MVC模式:Model-View-Controller三层,Model顾名思义就是模型,数据模型,比如一个学生模型,他有学号,姓名,成绩等参数;View就是界面显示表现层,很好理解;Controller就是控制器,处理界面与模型的业务逻辑,比如界面上加载的数据来自一个学生模型的学号,姓名之类的,界面有所改动,控制器里面就要写相应的数据变化处理,有可能是数据库的增删改查。

三层架构:分为表面层,业务逻辑层,数据访问层。表面层就是UI层了,其实跟MVC里的View是一样的;先说下数据访问层,里面一般是封装了一个数据库访问的类,包括连接,增删改查;业务逻辑层就是调用数据访问层,进行业务实现。

看网上说把MVC看作是三层架构里的表面层,我是极为不赞同的。注意看,MVC=表面层+业务逻辑层+Model。三层架构=表面层+业务逻辑层+数据访问层,一般都会再加一个Model的,只是没算在里面。区别在于两个业务逻辑层不一样!如果实现的都是相同的访问数据库操作,那么MVC的业务逻辑层功能就等同于三层架构的业务逻辑层+数据访问层。

两个业务逻辑层,它们之间的区别是什么?那就要从面向对象的特性之一封装开始讲起了,我们要实现某个功能的时候,面向过程的方式是直接实现一个方法,然后调用方法;面向对象的方式是创建一个类,在类里实现方法,然后通过对象调用;现在MVC的业务逻辑层就是面向过程的方式,三层架构的业务逻辑层才是面向对象,数据访问层就是它创建的那个类。

至此,我想MVC和三层架构的区别应该理清了吧。不管什么模式架构,都是人造的,都离不开面向对象的三个特性,把这三个特性吃透了,我相信什么模式架构都是纸老虎,觉得有道理就点赞吧!

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在刚刚步入“多结构”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、付费专栏及课程。

余额充值