asp.net Mvc与三层架构的疑问

作者&投稿:丙贸 (若有异议请与网页底部的电邮联系)
C# 框架看这里

MVC是三个单词的缩写,分别为: 模型(Model),视图(View)和控制Controller)。 MVC模式的目的就是实现Web系统的职能分工。 Model层实现系统中的业务逻辑,通常可以用JavaBean或EJB来实现。 View层用于与用户的交互,通常用JSP来实现。 Controller层是Model与View之间沟通的桥梁,它可以分派用户的请求并选择恰当的视图以用于显示,同时它也可以解释用户的输入并将它们映射为模型层可执行的操作。

工厂模式定义:提供创建对象的接口.
工厂模式是我们最常用的模式了,著名的Jive论坛 ,就大量使用了工厂模式,工厂模式在Java程序系统可以说是随处可见。
工厂模式如此常用,因为工厂模式就相当于创建实例对象的new,我们经常要根据类Class生成实例对象,如A a=new A() 工厂模式也是用来创建实例对象的,所以以后new时就要多个心眼,是否可以考虑使用工厂模式,虽然这样做,可能多做一些工作,但会给你系统带来更大的可扩展性和尽量少的修改量。

设计模式是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真正工程化,设计模式是软件工程的基石,如同大厦的一块块砖石一样。

三层架构,通常意义上的三层架构就是将整个业务应用划分为:表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL)。区分层次的目的即为了“高内聚,低耦合”的思想。



首先说三层架构:
UI(.aspx)---------> BLL(业务处理)------> DAL(数据处理)----> 永久存储(数据库)

MVC:
MVC(Model View Controller)模型-视图-控制器

很明显都是从整体上“策划”一个web项目的实现逻辑

共同点:三层架构的UI层相当于MVC中的View层,作为视图,再说白一点,都是页面

区别:BLL+DAL相当于MVC中的Model层, Model层实现系统中的业务逻辑,当然也包含了数据访问的逻辑

三层”中典型的Model层是已实体类构成的,而MVC里,Model则是由业务逻辑与访问数据组成的,

Model层又分为不同的层(个人认为就是三层架构的DAL+BLL),它的分层也是为了结构清晰和低耦合,

区别比较大的就是三层架构中没有Control层,而是由单个页面上的控件的事件处理页面与业务逻辑之间

,而MVC中control层是作为联系视图层和Model的纽带,使得整个项目的结构更加清晰,降低了耦合性。

举例说明这两种方法不同的实现思路:A在上海的浦东区逛街,有人要抢劫他,打110报警了,B在闵行区也被劫持,他也打110报警了,他们打110的时候,接电话的是上海市公安局总部指挥中心,对于A,来解救他是浦东分局的警察,对于B,解救他的是闵行分局的警察,对于AB来说,他们不需要关心到底是谁来解救他的,他们只管打110报警(类似于页面数据由action提交到控制器),由110指挥中心确定他的位置然后派出具体的地方警局去营救(控制器根据需求调用model层去完成对应的数据处理)。而三层架构在这个过程中就像A或B被劫持了,他们直接找到当地警(调用BLL层方法)的警察来处理,

不想拿出一堆大概念吓人,本来就不太难理解的东西,别搞的很神奇,

也不是说哪个好那个不好,都是解决问题的不同实现思路,三层架构和MVC并

没有传说中的那样没有任何关系,至于.net的MVC还没有研究过。

首先,mvc只是三层架构的一个变体,是一种进步,但实质是一样的,
小的项目适合三层构架,大的项目适合MVC,不过因需求而宜,用什么其实都一样,
不过,MVC的交互性更强,现在是主流,而且mvc一直在更新,用的人也比较多,
mvc适合开发任何项目,且内部结构更为清晰,就看你用得怎么样了。。。

现在MVC3.0框架出来了
公司开发网站用的比较多
好处:安全
开发的时候不用关心数据库的设计它会帮你自动生成

哪个顺手,就用哪个,

asp.net中的三层架构是什么意思?mvc设计模式是什么?它们之间有关系吗?~

三层架构和MVC是有明显区别的,
三层架构(3-tier application) 通常意义上的三层架构就是将整个业务应用划分为:表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL)。区分层次的目的即为了“高内聚,低耦合”的思想。
1、表现层(UI):通俗讲就是展现给用户的界面,即用户在使用一个系统的时候他的所见所得。
2、业务逻辑层(BLL):针对具体问题的操作,也可以说是对数据层的操作,对数据业务逻辑处理。
3、数据访问层(DAL):该层所做事务直接操作数据库,针对数据的增添、删除、修改、更新、查找等。
MVC是 Model-View-Controller,严格说这三个加起来以后才是三层架构中的UI层,也就是说,MVC把三层架构中的UI层再度进行了分化,分成了控制器、视图、实体三个部分,控制器完成页面逻辑,通过实体来与界面层完成通话;而C层直接与三层中的BLL进行对话。
所以, .net的三层结构中,并没有action这个概念。
可以这样说,如果深入理解了mvc,肯定是很容易理解asp.net的三层架构的。