关于三层架构,MVC模型,工厂设计模式三者

刚学这些知识的时候,也了解三层架构和MVC是不一样的东西,但是具体不一样在哪,却不懂得.

以为M,V,C也是分成3层嘛,那和三层架构到底有什么区别呢?还有工厂模式,和MVC,和三层架构,又有什么关系?

以下为个人见解,一定也存在着错误的地方,希望大家帮忙指正和教导.

首先是MVC和三层架构

从书及网络上得到的信息,大概整理出这么点东西,MVC和三层架构同样是架构级别的(这边也有说MVC是属于设计模式的).而我认为把其当成是设计模式会好理解点.

相同的地方,在于他们都有一个表示层,不同的地方,在于MVC的C(Controller)上.三层不存在C这个东西,而MVC也没有把业务的逻辑访问看成是2个层.

那么,我这样理解,就是MVC可以当成是三层中UI层展示的一种实现.


工厂模式与三层架构

工厂模式则是属于一种设计模式,指的是专门定义一个类来负责创建其他类的实例,属于类的创建型模式,通常根据一个条件(参数)来返回不同的类的实例。

 

 

以下是转自别人的观点,留待细看

 

设计模式也是分类的

三层模式是体系结构模式,MVC是设计模式

三层模式又可归于部署模式,MVC可归于表示模式,工厂模式可归于分布式系统模式。

三层模式跟工厂模式,个人的见解如下:

工厂当然是得建立在三层的基础上的

三层,简单的说,数据访问,业务逻辑,表示,3个层面,3层会在一定程度上降低效率

但是他的优点远远的大于了那一点点的缺点,代码易于维护,程序结构清晰,关键是松散耦合

工厂呢,就是

例如,如果我要个对象,就会让工厂去创建,创建完成,给你返回个结果。

假如你去吃麦当劳,你说要个汉堡,你不会自己去做吧,相当于,你跟服务员说,我要个汉堡,服务员跟后面的“工厂”说,然后工厂帮你做个汉堡,然后“工厂”会给你个结果

三层架构,数据层(DAL)、逻辑层(BLL)、表示层(UI);
从功能上来说:
表示层就象你去饭店吃饭,你点了一个清真鲈鱼。
业务层负责洗、切、蒸等。
数据层负责提供鱼、油、盐等。


确切的说现在应用一般为7层结构

---DBUtility数据层基类
---DALFactory数据层工厂类
---IDAL接口层
---SQLDAL接口实现层
---Model实体类
---Logic业务逻辑层
---Web表示层

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 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、付费专栏及课程。

余额充值