<iframe align="center" marginwidth="0" marginheight="0" src="http://www.zealware.com/csdnblog336280.html" frameborder="0" width="336" scrolling="no" height="280"></iframe>
用VS2005.NET进行三层结构应用程序的开发1.三层之间的关系:
三层是指:界面显示层(UI),业务逻辑层(Business),数据操作层(Data Access)
文字描述:
Clients对UI进行操作,UI调用Business进行相应的运算和处理,Business通过Data Access对Data Base进行操作。
优点:
1、增加了代码的重用。Data Access可在多个项目中公用;Business可在同一项目的不同地方使用(如某个软件B/S和C/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
具体实现代码如下:
public class DataAgent
{
#region Variables
private string m_strConnectionString;
private OleDbConnection m_objConnection;
#endregion Variables
#region Functions
#region DataAgend
/// <summary><p></p></summary>
/// Initial Function
///
///
public DataAgent(string strConnection)
{
this.m_strConnectionString = strConnection;
}
#endregion DataAgend
#region OpenDataBase
/// <summary><p></p></summary>
/// function to open data base
///
private void OpenDataBase()
{
try
{
this.m_objConnection = new OleDbConnection();
this.m_objConnection.ConnectionString = this.m_strConnectionString;
if(this.m_objConnection.State != ConnectionState.Open)
{
this.m_objConnection.Open();
}
}
catch(Exception e)
{
throw e;
}
}
#endregion OpenDataBase
#region CloseDataBase
/// <summary><p></p></summary>
/// the function to cloase data base
///
private void CloseDataBase()
{
if(this.m_objConnection != null)
{
if(this.m_objConnection.State == ConnectionState.Open)
{
this.m_objConnection.Close();
}
}
}
#endregion
#region GetDataView
/// <summary><p></p></summary>
/// Execute the sql and return the default table view
///
/// Select String
/// <returns>DataView of the DataTable</returns>
public DataView GetDataView(string strSqlStat)
{
try
{
this.OpenDataBase();
OleDbDataAdapter objDataAdapter = new OleDbDataAdapter(strSqlStat.Trim(),this.m_objConnection);
DataSet objDataSet = new DataSet();
objDataAdapter.Fill(objDataSet);
return objDataSet.Tables[0].DefaultView;
}
catch(Exception e)
{
throw e;
}
finally
{
this.CloseDataBase();
}
}
#endregion GetDataTable
#endregion Functions
}
3.Business的具体实现:
建立名为Base的类,此类作为其他事务类的基类,其中定义了一个DataAgent的实例。其他所有的Business类都从该改类派生。
在该类中添加对DataAgent的引用,使所有的事务类都能使用DataAgent中的方法。
Base.cs源代码:
public abstract class Base
{
#region DataAgent
private DataAgent m_objDBAgent;
protected DataAgent OleDBAgent
{
get
{
if(this.m_objDBAgent == null)
{
this.m_objDBAgent = this.CreateAgent();
}
return this.m_objDBAgent;
}
set
{
this.m_objDBAgent = value;
}
}
#endregion DataAgent
public Base()
{
}
#region CreateAgent
/// <summary><p></p></summary>
/// Create a new DataAgent
///
/// <returns></returns>the DataAgent
private DataAgent CreateAgent()
{
string strConnection = ConfigurationSettings.AppSettings["ConnectionString"];
return new DataAgent(strConnection);
}
#endregion CreateAgent
}
准备好了数据操作层和事务层的基类,底下就可以正式地开始业务逻辑类的开发了,如有一个显示新闻的类News,其中包含了一个GetNewsLsit()的方法,该方法用来获取所有的新闻标题列表,代码如下:
public class News: Base
{
public News Contact()
{
}
public DataView GetNewsList()
{
string strSql;
strSql = "";
strSql += " SELECT Top 10 NewsId,NewsTitle ";
strSql += " FROM Tb_News";
strSql += " WHERE NewsEnable = 1";
strSql += " ORDER BY NewsId ";
return base.OleDBAgent.GetDataView(strSql);
}
}
由于数据库结构比较简单,在此就不再给出详细的表结构。
4.UI层对Business中接口的调用
首先,在页面中添加对News类的引用。
然后,在页面中添加一个(DataGrid)dgNews用来显示新闻列表。
在Page Behind的Page_Load方法中添加如下代码:
News objNews = new News();
this.dgNews.DataSource = objNews.GetNewsList();
this.dgNews.DataBind();
至此,大功告成!
相关推荐
用VS2005.NET进行三层结构应用程序的开发 1.三层之间的关系: <br>三层是指:界面显示层(UI),业务逻辑层(Business),数据操作层(Data Access).........
用ASP.NET开发三层结构应用程序(三层架构)
用ASP.NET开发三层结构应用程序.rar用ASP.NET开发三层结构应用程序.rar
VB.net三层架构使用三层结构开发数据库应用系统教程PPT,VisualStudio2008创建
本文介绍用VS2005.NET进行三层结构应用程序的开发的方法
NHibernate三层结构应用程序开发.doc
.NET开发三层架构应用程序视频 DAL层视频
ASP.NET三层架构步骤讲解 前言: 与ASP相比ASP.NET在Web应用开发上无疑更容易,更有效率。Web开发大部分还是围绕着数据操作,建立数据库存储数据,编写代码访问和修改数据,设计界面采集和呈现数据。走过Asp.net...
NET平台下开发三层架构WinForm应用程序简介[整理].pdf
三次架构典范项目-图书管理系统(winform应用程序),附带sqlserver 2008数据库脚本。 个人分享,请勿作为商业用途!
三层架构三层架构三层架构三层架构开发技术 ■图书馆管理系统的开发流程 ■网站的编译与发布 12.1 ... 对于一个简单的应用程序来说,代码量不是很多的情况下,一层结构或二层结构开
在一个典型的三层架构应用程序中,应用程序的用户工作站包括提供图形用户界面(GUI)的程序设计和具体的应用程序入口表格或交互式窗口。 事务逻辑处在局域网(LAN)服务器或其他共享主机上,它作为...
Model(模型)是应用程序中用于处理应用程序数据逻辑的部分。 通常模型对象负责在数据库中存取数据。 View(视图)是应用程序中处理数据显示的部分。...这个适合刚接触三层架构的来学习,比较简单。
传统两层结构 在过去应用系统开发过程中,CLIENT/SERVER体系结构得到... 三层结构介绍 所谓三层体系结构,是在客户端与数据库之间加入了一个"中间层",也叫组件层。这里所说的三层体系,不是指物理上的三层,不是简
在.NET框架下开发三层结构数据库应用系统,让我们的程序更有层次性更有利于程序员开发分工。
程序通过WinForm应用程序实现Sql Server 2005,Sqlite 3的增、删、改、查,分页功能。是学习三层架构、工厂模式,操作Sql Server和Sqlite数据库的极佳学习例子。本源码是我开发一个10万行代码软件时使用的架构的进化...
开发业务应用角度对程序的划分,其分层逻辑来源于“高内聚低耦合”的思想,在开发中针对这种有三层架构和五层架构
本程序一个基于三层架构的MVC模式应用的完整示例项目源码,基于Asp.net 3.5... 1) 基于标准的三层结构。 2) 表示层采用MVC模式。 3) 数据的增、删、改、查操作。 4) 列表数据显示及分页处理。 5) Linq的应用等。