注册 登录
编程论坛 ASP.NET技术论坛

求问Web开发的三层架构

wangfangjin 发布于 2010-07-14 16:05, 824 次点击
以前没有接触Web方面的开发,现在刚接触,看一些实例说采用的是三层架构技术,自己理解一般来说分为UI层,业务逻辑层,数据层,然后通过引用来实现。比如业务逻辑层需要调用数据层的方法,则必须先引用数据层。这样做层次更加分明,结构合理,而且代码也有很好的可读性。通俗的说就是定义类,把功能相同的类放在同一个类库里。 现在一直都还不是很明白,望前辈们结合实例给我解释一下,谢谢~~~~
7 回复
#2
冰镇柠檬汁儿2010-07-14 20:46
UI层:前台展示用,这里把从业务逻辑层读到的数据显示出来,将用户输入的信息提交到业务逻辑层,这里只是显示数据和做最基础和简单的代码
业务逻辑层:顾名思义,这里是写业务逻辑的代码,将UI层传来的数据经过处理,提交到数据库层,将数据库层返回来的数据经过逻辑处理,传给UI层
数据层:这里接收业务逻辑层的提交过来的值,作为参数,访问数据库,读取或修改数据库,然后将数据库中得到的数据直接返回给业务逻辑层
#3
WJbobo2010-07-15 08:55
恩.这里看到了.我也想起来了.
3层架构是 web层为显示层.DLL业务逻辑层.DAL数据层.分歧就在后两层.
我们学的是
DLL 业务逻辑层详细做一些逻辑的判断操作.比如写某个类的添加、查看、修改、删除、根据条件分页等等.....总的来说就是某个类的具体操作.
DAL 数据层则做做连接数据库操作.要用到的一些公有数据操作方法(DBHelper)比如执行ExecuteScalar()、ExecuteNonQuery().返回DataSet()等操作.
而那天面试的说我3层搭错了.他们的搭法是
DLL 就做一个简单的 return className.MethodName() 类名的方法.而DAL层则做我上面的DLL层的功能.他的DBHelper则又写了一个层.
所以我不知道谁的对.回来后问了一些人.有的说他下面的这种搭法是用NET代码生成器自动生成的.我上面的是正规的.也有说.......听听你们的意见.        
#4
wangfangjin2010-07-15 09:32
回复 3楼 WJbobo
恩“写某个类的添加、查看、修改、删除、根据条件分页等等”,也很困惑,不知道是应该放在DLL层还是DAL层。上次去面试,面试官最后也问了我这个问题。还问了我C++中类的关系总共有哪几种?
#5
wangfangjin2010-07-15 09:34
以下是引用冰镇柠檬汁儿在2010-7-14 20:46:06的发言:

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

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

#7
wangfangjin2010-07-16 10:53
回复 8楼 冰镇柠檬汁儿
谢谢,已经明白了些,剩下的要靠自己在项目中慢慢体会了
1