本人刚学ASP.NET,对三层架构的一个理解不知道对不对:三层架构之间是通过命名空间来形成相互的依赖和调用。

Terryguy1991 2010-03-08 11:08:40
比如说:DAL层:在命名空间MyWeb.Data中定义类User,类中有函数Creat(args1,args2,……){ 函数体中调用某个存储过程 }
BLL层:在命名空间MyWeb.Business中定义类User,类中函数Creat(args1,args2,……){ 函数体中定义 Data.User类型的对象datauser,通过datauser.Creat(……)来调用MyWeb.Data命名空间内User类的方法Creat(args1,args2,……)};不知道这样的理解对不对,请大侠们指点一下
...全文
345 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
maomao90 2010-03-12
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 rmghtm 的回复:]
错误提示: [Microsoft][ODBC SQL Server Driver][SQL Server]无法打开登录所请求的数据库 "wgysmulu "。登录失败

[/Quote]
连接数据库字符串直接用这个:string sql="server=服务器名;database=数据库名;uid=;pwd=;"
这个用sql2000、2005都可以
沉默老哥 2010-03-12
  • 打赏
  • 举报
回复
大家帮帮忙。
问题:ASP.NET程序,用ADO.NET访问SQL数据库,用VB.NET语言编写代码。
代码如下:
Imports System.Data
Imports System.Data.OleDb
Imports system.Data.Sql
Imports System.Data.SqlClient

Dim Cn As New ADODB.Connection
Dim Server As String
Dim Uid As String
Dim Pwd As String
Dim Gdatabase As String

Server = "WWW-WGYS" '服务器名
Gdatabase = "wgysmulu" '数据库名
Uid = ""
Pwd = ""

Cn.ConnectionString = "Driver={SQL Server};Server=" & Server & ";Database=" & Gdatabase & " ;Uid=" & Uid & ";Pwd=" & Pwd

Cn.Open()
错误提示: [Microsoft][ODBC SQL Server Driver][SQL Server]无法打开登录所请求的数据库 "wgysmulu "。登录失败

相同的代码在VB.NET中可以运行!在asp.net中无法运行,不知为何?
问题:ASP.NET程序,用ADO.NET访问SQL数据库,用VB.NET语言编写代码。
代码如下:
Imports System.Data
Imports System.Data.OleDb
Imports system.Data.Sql
Imports System.Data.SqlClient

Dim Cn As New ADODB.Connection
Dim Server As String
Dim Uid As String
Dim Pwd As String
Dim Gdatabase As String

Server = "WWW-WGYS" '服务器名
Gdatabase = "wgysmulu" '数据库名
Uid = ""
Pwd = ""

Cn.ConnectionString = "Driver={SQL Server};Server=" & Server & ";Database=" & Gdatabase & " ;Uid=" & Uid & ";Pwd=" & Pwd

Cn.Open()
错误提示: [Microsoft][ODBC SQL Server Driver][SQL Server]无法打开登录所请求的数据库 "wgysmulu "。登录失败

相同的代码在VB.NET中可以运行!在asp.net中无法运行,不知为何?
lifanfengyuwuzu 2010-03-10
  • 打赏
  • 举报
回复
DAL层里是访问数据库的层
BLL层里是业务逻辑层!
Terryguy1991 2010-03-10
  • 打赏
  • 举报
回复
高手指点一下啦,说三层架构是什么谁都说的有模有样,但是如何实现三层架构,能说出点中用的也就没几个……
vrhero 2010-03-09
  • 打赏
  • 举报
回复
三层架构和命名空间没有任何关系...
cena_jin 2010-03-09
  • 打赏
  • 举报
回复
小菜来学习学习!!!!!!!!!!!!
  • 打赏
  • 举报
回复
这是三个公认的经常进行“依赖倒置”设计来对程序解耦的分界点:

通过简单地配置,你就可以让程序界面绑定到某BLL框架的不同实现上,例如把腾讯QQ在1分钟之内切换到一个股票买卖系统——尽管业务逻辑完全不同,但是完全可以把新系统的嫁接给表现层自动适配。

通过简单地配置,你就可以让程序的对象持久化层绑定到某DAL框架的不同实现上,例如把针对SqLite方式的存储设备在1分钟之内切换到一个基于阿凡达的大脑芯片的带着无线适配器行走的母狗——管它如何实现的呢?只要遵循DAL接口就行。
chenyunkun2008 2010-03-09
  • 打赏
  • 举报
回复
引用 2 楼 dream_hunter_ 的回复:
楼主理解的对的
DAL层里直接写访问和操作数据库的方法
BLL层里根据业务逻辑需求组合调用DAL层里的方法
这样理解最简单
jkyweb 2010-03-09
  • 打赏
  • 举报
回复
引用 1 楼 wuyq11 的回复:
Model,实现业务实体。
IDAL,实现接口。
SQLServerDAL,实现接口里的方法。
web.config里的配置信息,为SQLServerDAL的程序集。
DALFactory,返回程序集的指定类的实例。
BLL,调用DALFactory,得到程序集指定类的实例,完成数据操作方法。
WEB,调用BLL里的数据操作方法。


加一个Tool层 存放公用方法
Terryguy1991 2010-03-09
  • 打赏
  • 举报
回复
引用 4 楼 vrhero 的回复:
三层架构和命名空间没有任何关系...

那是如何实现层之间的函数调用的
bluedoctor 2010-03-08
  • 打赏
  • 举报
回复
学习三层架构,建议楼主看看我这个框架
http://blog.csdn.net/bluedoctor/archive/2010/01/24/5251913.aspx

框架支持的功能
UI层(WinForm/Web)控件数据绑定、映射与查询;
BLL层实体对象查询(OQL)
DAL层SQL语句和.NET数据访问代码映射(查看 SQL-MAP 原理)
Dream_Hunter_ 2010-03-08
  • 打赏
  • 举报
回复
楼主理解的对的
DAL层里直接写访问和操作数据库的方法
BLL层里根据业务逻辑需求组合调用DAL层里的方法
wuyq11 2010-03-08
  • 打赏
  • 举报
回复
Model,实现业务实体。
IDAL,实现接口。
SQLServerDAL,实现接口里的方法。
web.config里的配置信息,为SQLServerDAL的程序集。
DALFactory,返回程序集的指定类的实例。
BLL,调用DALFactory,得到程序集指定类的实例,完成数据操作方法。
WEB,调用BLL里的数据操作方法。

62,072

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧