这里使用C#+sql server2000来介绍asp.net三层架构原理具体分析与运用
以下是具体的步骤:
一、创建数据库
/*==================================================*/ /* DBMS name: Microsoft SQL Server 2000 */ /*==================================================*/ if exists (select 1 from sysobjects where id = object_id('newsContent') and type = 'U') drop table newsContent go /*==================================================*/ /* Table: newsContent */ /*==================================================*/ create table newsContent ( ID int identity(1,1) primary key, Title nvarchar(50) not null, Content ntext not null, AddDate datetime not null, CategoryID int not null ) go(鼠标移到代码上去,在代码的顶部会出现四个图标,第一个是查看源代码,第二个是复制代码,第三个是打印代码,第四个是帮助)
二、项目文件架构
ID |
项目 |
描述 |
用途 |
项目引用关系 |
实例所需文件 |
相关方法 |
1 |
Web |
表现层 |
Web页和控件 |
引用BLL |
WebUI.aspx WebUI.aspx.cs |
GetContent() |
2 |
BLL |
业务逻辑层 |
业务逻辑组件 |
引用 IDAL,Model,使用DALFactory创建实例 |
Content.cs |
ContentInfo GetContentInfo(int id) |
3 |
IDAL |
数据访问层接口定义 |
每个DAL实现都要实现的一组接口 |
引用 Model |
IContent.cs |
ContentInfo GetContentInfo(int id) |
4 |
Model |
业务实体 |
传递各种数据的容器 |
无引用 |
ContentInfo.cs |
|
5 |
DALFactory |
数据层的抽象工厂 |
创建反射,用来确定加载哪一个数据库访问程序集的类 |
引用IDAL,通过读取web.config里设置的程序集,加载类的实例,返回给BLL使用。 |
Content.cs |
IDAL.Icontent create() |
6 |
SQLServerDAL |
SQLServer数据访问层 |
Microsoft SQL Server特定的Pet Shop DAL实现,使用了IDAL接口 |
引用 Model和IDAL,被DALFactory加载的程序集,实现接口里的方法。 |
SqlHelper.cs
Content.cs |
SqlDataReader ExecuteReader() PrepareCommand() ContentInfo GetContentInfo(int id) |
OracleDAL |
Oracle数据访问层 |
|||||
7 |
DBUtility |
数据库访问组件基础类 |
GetSqlServerConnectionString得到数据库连接字符串,也可省去该项目,在SQLServerDAL.SqlHelper中用static readonly string SqlConnectionString代替。 |
无引用 |
|
|
具体步骤如下:
1、创建Model,实现业务实体。
2、创建IDAL,实现接口。
3、创建SQLServerDAL,实现接口里的方法。
4、增加web.config里的配置信息,为SQLServerDAL的程序集。
5、创建DALFactory,返回程序集的指定类的实例。
6、创建BLL,调用DALFactory,得到程序集指定类的实例,完成数据操作方法。
7、创建WEB,调用BLL里的数据操作方法。
注意:
1、web.config里的程序集名称必须与SQLServerDAL里的输出程序集名称一致。
2、DALFactory里只需要一个DataAccess类,可以完成创建所有的程序集实例。
3、项目创建后,注意修改各项目的默认命名空间和程序集名称。
4、注意修改解决方案里的项目依赖。
5、注意在解决方案里增加各项目引用。