如何快速理解.NET技术中的三层体系结构
如何快速理解.NET技术中的三层体系结构现在对三层体系结构的理解有点晕头晕脑的
希望各位能够帮助我更加深刻的理解它
谢谢了 --------------------编程问答-------------------- MVC,Model View Control
View,给用户看的.
Model,层间信息传递单元.
Control,处理业务逻辑. --------------------编程问答-------------------- MVC,Model View Control
View,给用户看的.
Model,层间信息传递单元.
Control,处理业务逻辑. --------------------编程问答-------------------- MVC,Model View Control
View,给用户看的.
Model,层间信息传递单元.
Control,处理业务逻辑. --------------------编程问答-------------------- 实在看不出Control怎么翻译成处理业务逻辑的。
不知道没有关系,不要误导人。 --------------------编程问答-------------------- 谢谢各位 --------------------编程问答-------------------- 还是有点不清楚
^_^ --------------------编程问答-------------------- 不知道.net的三层是什么。 --------------------编程问答-------------------- 就是代码重复利用高的结构 --------------------编程问答-------------------- 是吗 --------------------编程问答-------------------- 你这人啊....问你身边的人撒...
网上一哈问的好的撒...
--------------------编程问答-------------------- 三层架构分别是 数据层,界面层,逻辑业务层.
数据层的功能是调用逻辑业务层的方法.
界面层的功能是显示给客户看的.
而逻辑业务层就是连接数据库,存储方法,以及赠删改的方法.
我是菜鸟``不好意思``我也不知道我说的是不是对的!!
废话了...各位不要骂我.... --------------------编程问答-------------------- 用户层,业务层,数据服务层
用户层主要和用户打交道,显示信息和接收用户请求
业务层主要是和业务相关的
数据服务层主要是和数据库打交道的 --------------------编程问答-------------------- 软件结构体系中的三层结构是:客户端,中间件,数据库
LZ可以和这个联系起来理解,很容易理解的 --------------------编程问答-------------------- 显示层,实现层,数据操作层。 --------------------编程问答-------------------- 数据访问层:相当于颜料、画笔
中间业务层:就像一位画家,是不是颓废滴还是浪漫由画家来作主
表示层:就像美术馆里的画,是给用户欣赏的
分层的好处是面向对象利于维护 它的优点也是它的缺点 层数越多会产生一定的延时 --------------------编程问答-------------------- 该回复被版主删除 --------------------编程问答-------------------- 除了MVC还有MVP,MVP更适合Web的开发,处理上上要比MVC架构更好,做Web开发的,大家可以看看MVP --------------------编程问答-------------------- 三层架构是三层架构
MVC是MVC
--------------------编程问答-------------------- .NET的三层是 界面表示层 业务逻辑层 数据访问层。 可以继续细分
MVC只能算是 界面表示层里的应用 --------------------编程问答-------------------- 开始讲这个问题,我们首先要明白为什么需要功能分解
举个例子,如果要你开发一个小游戏贪食蛇,你是会把代码全部混杂在一起,还是把处理数据(蛇身体的arraylist)以及处理io(用户按键、画面显示代码)分离?后者的效果会更好一些,因为如果我们想要把蛇改一个颜色,那么后者就可以让我们的改动尽量的小。
ps:题外话,现在的大多数游戏由于绘图部分非常复杂,所以会把数据处理和绘图两部分整合,也就是俗称的引擎。
那么如果现在我们有两部分功能块,数据处理和显示处理,怎么样拼接他们呢?一般可以采取两种做法:1、将两者直接关联,2、在两者间加入一个负责处理交互的胶合层。
我们先看看前者的问题,我们现在把数据处理模块(arrarlist的增删)以及显示模块写到一起了,用的很好,突然某一天,有要求说数据部分需要改为使用数组,或者vector,或者别的什么...现在遇到问题了,这样一改,两个部分的代码都需要改动。
那么如果我们使用胶合式处理呢?好,我们可以让显示部分处理一个抽象的数据——Ilist接口,使用胶合层代码来选择数据模型,现在不管是数据处理模块使用那一种数据类型,我们的图形层都不需要修改了吧。对,这就是三层的思想由来。
PS:题外话,事实上,最初的三层的目标是使决策和实现相分离,这种思想广泛应用于各个领域,个人认为学习这个与其看抽象的mvc概念,到不如从STL的 算法-迭代器-容器 模型入手,万物归三么。
现在我们来看mvc,mvc是一个成熟的设计模式,他的实质也就是,显示和数据处理分离。因为可能一个数据会对应多个显示(可以想像XP有标准的,也有番茄花园的),或者一个显示对应多种数据(可以想像同一个界面资源管理器,可以访问磁盘、光盘、U盘等),所以加入了控制器,由控制器来胶合不同的视图和模型。这种设计方式已经广泛应用于图形界面的应用程序开发。
而三层模型则是另一个领域的功能分解模型,什么领域呢?商业软件领域。商业软件大量应用了数据库,将数据存放到数据库中去,然后通过对界面的操作来处理数据。好,我们现在又看到界面和数据两部分了,他们是不是该分离呢?是不是该加入胶合层呢?答案是肯定的。
现在我们这样来设计我们的系统,界面用一些代码来处理,数据库读写由另一些代码来处理,那么界面与数据库读写间的胶合——也就是界面操作与数据库操作究竟应该如何一一对应,我们是不是也专门使用一些代码来处理啊,事实上,这些代码就是我们软件的核心——业务逻辑。
PS:题外话,要说三层模型,最为根本的一种其实也就是我们一直使用的odbc,不同的数据库,同一个软件界面,只要通过odbc的配置就可以很方便的切换,真是微软对软件行业的创举啊,整整影响了一代人。
现代比较流行的开发模版,基本上也就是依照这个思路,围绕两个目标——重用的部分尽量的多,让改动受影响的部分尽量的小,而开展的。只不过为了达到这个目标,不断在任何的两层直接有加上了更多的中间层。数据处理和业务处理间加了数据访问,数据访问和数据处理间加了数据实体,界面处理和业务处理间加了验证逻辑等等,其实这个层是可以无限的分下去的,具体怎么分,就要看项目的规模了。
应该怎么作,这是由具体一个项目的架构师做的,世上没有万灵药,但成熟的设计模板还是有的,这就是微软的宠物店模板。当然,2005的宠物店为了实现一些和spring等框架类似的功能以及一些新特性,复杂了许多,初学的话,宠物店2003、2003就很好。
PS:2005宠物店加的那些东西其实是为了项目作更好的规划,主要是解耦和决策方面的内容。有了这些,三层框架可以做到更加的强大。关于这部分内容,请查阅反射和解耦方面的专题,比方说陈宇老师的《反射机制与系统耦合实例详解》http://blog.csdn.net/frank_softworks/archive/2007/04/28/1589346.aspx --------------------编程问答-------------------- 幸苦写了这么多,咋就没人回涅? --------------------编程问答-------------------- 接分 --------------------编程问答-------------------- thks alextsln(以泪洗面)
受益匪浅!
--------------------编程问答-------------------- 谢谢各位,通过近期的学习和练习,终于完全明白了何谓三层结构体系
^_^^_^^_^^_^^_^^_^^_^^_^^_^^_^^_^^_^^_^^_^
^_^^_^^_^^_^^_^^_^^_^^_^^_^^_^^_^^_^^_^^_^
^_^^_^^_^^_^^_^^_^^_^^_^^_^^_^^_^^_^^_^^_^
^_^^_^^_^^_^^_^^_^^_^^_^^_^^_^^_^^_^^_^^_^
^_^^_^^_^^_^^_^^_^^_^^_^^_^^_^^_^^_^^_^^_^
^_^^_^^_^^_^^_^^_^^_^^_^^_^^_^^_^^_^^_^^_^
^_^^_^^_^^_^^_^^_^^_^^_^^_^^_^^_^^_^^_^^_^
^_^^_^^_^^_^^_^^_^^_^^_^^_^^_^^_^^_^^_^^_^
^_^^_^^_^^_^^_^^_^^_^^_^^_^^_^^_^^_^^_^^_^
^_^^_^^_^^_^^_^^_^^_^^_^^_^^_^^_^^_^^_^^_^ --------------------编程问答-------------------- 我刚接触三层也晕了一个星期. --------------------编程问答-------------------- MVC和三层不是一回事.
三层是上一层调下一层,界面,逻辑,数据.
MVC是视图,模型,控制器.之间有交互的关系. --------------------编程问答-------------------- 可以这样的理解。我们比如说数字-10度
数据服务层存储就是-10这个正数字
业务层把-10度解释为零下10度
用户层则用一些手段,比如说雪呀什么的来展示-10有多么的冷。
--------------------编程问答-------------------- up! --------------------编程问答-------------------- 帮顶~ --------------------编程问答-------------------- 说mvc的童鞋,不能误导人家啊~~~
很明显楼主问的三层架构应该是:数据访问层、业务层、表示层 --------------------编程问答-------------------- “.NET技术中的三层体系结构”这个词其实比较刺耳。(当然,可以理解)
所谓的三层结构,既前端的事情前端做,业务逻辑的事情由应用服务器做,数据库服务器隐藏起来前端根本不接触,这是世界上所有分层网络软件系统的最初级的概念。要分层,必定至少三层。这就好像一个小孩子第一次学会了解一元一次方程,是一个数学上的突破。但是也是最初级的概念。
补充:.NET技术 , .NET Framework