asp.net三层架构详解
一.项目文件架构 (实现步骤为:4-3-6-5-2-1)
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、注意在解决方案里增加各项目引用。