| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 824 人关注过本帖
标题:求问Web开发的三层架构
只看楼主 加入收藏
wangfangjin
Rank: 1
等 级:新手上路
帖 子:29
专家分:5
注 册:2010-7-13
结帖率:80%
收藏
已结贴  问题点数:10 回复次数:7 
求问Web开发的三层架构
以前没有接触Web方面的开发,现在刚接触,看一些实例说采用的是三层架构技术,自己理解一般来说分为UI层,业务逻辑层,数据层,然后通过引用来实现。比如业务逻辑层需要调用数据层的方法,则必须先引用数据层。这样做层次更加分明,结构合理,而且代码也有很好的可读性。通俗的说就是定义类,把功能相同的类放在同一个类库里。 现在一直都还不是很明白,望前辈们结合实例给我解释一下,谢谢~~~~
搜索更多相关主题的帖子: 开发 Web 架构 
2010-07-14 16:05
冰镇柠檬汁儿
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:北京
等 级:版主
威 望:120
帖 子:8078
专家分:6657
注 册:2005-11-7
收藏
得分:3 
UI层:前台展示用,这里把从业务逻辑层读到的数据显示出来,将用户输入的信息提交到业务逻辑层,这里只是显示数据和做最基础和简单的代码
业务逻辑层:顾名思义,这里是写业务逻辑的代码,将UI层传来的数据经过处理,提交到数据库层,将数据库层返回来的数据经过逻辑处理,传给UI层
数据层:这里接收业务逻辑层的提交过来的值,作为参数,访问数据库,读取或修改数据库,然后将数据库中得到的数据直接返回给业务逻辑层

本来无一物,何处惹尘埃
It is empty at all here, Why pm 2.5 is so TMD high!
2010-07-14 20:46
WJbobo
Rank: 1
等 级:新手上路
帖 子:85
专家分:3
注 册:2008-4-10
收藏
得分:3 
恩.这里看到了.我也想起来了.
3层架构是 web层为显示层.DLL业务逻辑层.DAL数据层.分歧就在后两层.
我们学的是
DLL 业务逻辑层详细做一些逻辑的判断操作.比如写某个类的添加、查看、修改、删除、根据条件分页等等.....总的来说就是某个类的具体操作.
DAL 数据层则做做连接数据库操作.要用到的一些公有数据操作方法(DBHelper)比如执行ExecuteScalar()、ExecuteNonQuery().返回DataSet()等操作.
而那天面试的说我3层搭错了.他们的搭法是
DLL 就做一个简单的 return className.MethodName() 类名的方法.而DAL层则做我上面的DLL层的功能.他的DBHelper则又写了一个层.
所以我不知道谁的对.回来后问了一些人.有的说他下面的这种搭法是用NET代码生成器自动生成的.我上面的是正规的.也有说.......听听你们的意见.        
2010-07-15 08:55
wangfangjin
Rank: 1
等 级:新手上路
帖 子:29
专家分:5
注 册:2010-7-13
收藏
得分:0 
回复 3楼 WJbobo
恩“写某个类的添加、查看、修改、删除、根据条件分页等等”,也很困惑,不知道是应该放在DLL层还是DAL层。上次去面试,面试官最后也问了我这个问题。还问了我C++中类的关系总共有哪几种?
2010-07-15 09:32
wangfangjin
Rank: 1
等 级:新手上路
帖 子:29
专家分:5
注 册:2010-7-13
收藏
得分:0 
以下是引用冰镇柠檬汁儿在2010-7-14 20:46:06的发言:

UI层:前台展示用,这里把从业务逻辑层读到的数据显示出来,将用户输入的信息提交到业务逻辑层,这里只是显示数据和做最基础和简单的代码
业务逻辑层:顾名思义,这里是写业务逻辑的代码,将UI层传来的数据经过处理,提交到数据库层,将数据库层返回来的数据经过逻辑处理,传给UI层
数据层:这里接收业务逻辑层的提交过来的值,作为参数,访问数据库,读取或修改数据库,然后将数据库中得到的数据直接返回给业务逻辑层
那么写某个类的添加、查看、修改、删除、根据条件分页等等,是属于逻辑处理还是访问数据库呢?比如信息发布模块,这里面各个层次是如何划分的?
2010-07-15 09:34
冰镇柠檬汁儿
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:北京
等 级:版主
威 望:120
帖 子:8078
专家分:6657
注 册:2005-11-7
收藏
得分:0 
以下是引用wangfangjin在2010-7-15 09:34:59的发言:

那么写某个类的添加、查看、修改、删除、根据条件分页等等,是属于逻辑处理还是访问数据库呢?比如信息发布模块,这里面各个层次是如何划分的?
我说的那些只是粗略的划分罢了,你问的是三层,我就说了三层,实际上我在编码的时候至少用6个项目
UI:展示页面
业务逻辑:处理各种逻辑(请记住,各种逻辑包括了对类的添加删除等等操作)
数据库sql语句:这里可以拼SQL等等的操作
数据库访问:这里是调用数据库的公共方法
model:持久化对象类库
common:公共方法类库


本来无一物,何处惹尘埃
It is empty at all here, Why pm 2.5 is so TMD high!
2010-07-16 09:48
wangfangjin
Rank: 1
等 级:新手上路
帖 子:29
专家分:5
注 册:2010-7-13
收藏
得分:0 
回复 8楼 冰镇柠檬汁儿
谢谢,已经明白了些,剩下的要靠自己在项目中慢慢体会了
2010-07-16 10:53
快速回复:求问Web开发的三层架构
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.037068 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved