〈转〉用VS2005.NET进行三层结构应用程序的开发

1.三层之间的关系:

三层是指:界面显示层(UI),业务逻辑层(Business),数据操作层(Data Access)

文字描述:

ClientsUI进行操作,UI调用Business进行相应的运算和处理,Business通过Data AccessData Base进行操作。

 优点:

1、增加了代码的重用。Data Access可在多个项目中公用;Business可在同一项目的不同地方使用(如某个软件B/SC/S部分可以共用一系列的Business组件)。

2、使得软件的分层更加明晰,便于开发和维护。美工人员可以很方便地设计UI设计,并在其中调用Business给出的接口,而程序开发人员则可以专注的进行代码的编写和功能的实现。

 

2.Data Access的具体实现:

DataAgent类型中变量和方法的说明

 

private string m_strConnectionString; //连接字符串

private OleDbConnection m_objConnection; //数据库连接

 

public DataAgent(string strConnection) //构造方法,传入的参数为连接字符串

private void OpenDataBase() //打开数据库连接

private void #region CloseDataBase() //关闭数据库连接

public DataView GetDataView(string strSqlStat) //根据传入的连接字符串返回DataView

 

具体实现代码如下:

 

Code

3.Business的具体实现:

建立名为Base的类,此类作为其他事务类的基类,其中定义了一个DataAgent的实例。其他所有的Business类都从该改类派生。

在该类中添加对DataAgent的引用,使所有的事务类都能使用DataAgent中的方法。

 

Base.cs源代码:

 

Code

 

     准备好了数据操作层和事务层的基类,底下就可以正式地开始业务逻辑类的开发了,如有一个显示新闻的类News,其中包含了一个GetNewsLsit()的方法,该方法用来获取所有的新闻标题列表,代码如下:

 

Code

 

 

由于数据库结构比较简单,在此就不再给出详细的表结构。

 

4.UI层对Business中接口的调用

首先,在页面中添加对News类的引用。

然后,在页面中添加一个(DataGrid)dgNews用来显示新闻列表。

Page BehindPage_Load方法中添加如下代码:

  

1  News objNews = new News();
2
3         this.dgNews.DataSource = objNews.GetNewsList();
4
5    this.dgNews.DataBind();

 

 

 

Code
posted @ 2009-04-12 23:36  KivenSun  阅读(113)  评论(0编辑  收藏  举报