怎样用VS2005进行三层结构应用程序的开发

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

用VS2005.NET进行三层结构应用程序的开发1.三层之间的关系:三层是指:界面显示层(UI),业务逻辑层(Business),数据操作层(DataAccess)文字描述:Clients对UI进行操作,UI调用Business进行相应的运算和处理,Business通过DataAccess对DataBase进行操作。优点:1、增加了代码的重用。DataAccess可在多个项目中公用;Business可在同一项目的不同地方使用(如某个软件B/S和C/S部分可以共用一系列的Business组件)。2、使得软件的分层更加明晰,便于开发和维护。美工人员可以很方便地设计UI设计,并在其中调用Business给出的接口,而程序开发人员则可以专注的进行代码的编写和功能的实现。2.DataAccess的具体实现:DataAgent类型中变量和方法的说明:privatestringm_strConnectionString;//连接字符串privateOleDbConnectionm_objConnection;//数据库连接publicDataAgent(stringstrConnection)//构造方法,传入的参数为连接字符串privatevoidOpenDataBase()//打开数据库连接privatevoid#regionCloseDataBase()//关闭数据库连接publicDataViewGetDataView(stringstrSqlStat)//根据传入的连接字符串返回DataView具体实现代码如下:publicclassDataAgent{#regionVariablesprivatestringm_strConnectionString;privateOleDbConnectionm_objConnection;#endregionVariables#regionFunctions#regionDataAgend///summary///InitialFunction////summary///paramname=strConnection/parampublicDataAgent(stringstrConnection){this.m_strConnectionString=strConnection;}#endregionDataAgend#regionOpenDataBase///summary///functiontoopendatabase////summaryprivatevoidOpenDataBase(){try{this.m_objConnection=newOleDbConnection();this.m_objConnection.ConnectionString=this.m_strConnectionString;if(this.m_objConnection.State!=ConnectionState.Open){this.m_objConnection.Open();}}catch(Exceptione){throwe;}}#endregionOpenDataBase#regionCloseDataBase///summary///thefunctiontocloasedatabase////summaryprivatevoidCloseDataBase(){if(this.m_objConnection!=null){if(this.m_objConnection.State==ConnectionState.Open){this.m_objConnection.Close();}}}#endregion#regionGetDataView///summary///Executethesqlandreturnthedefaulttableview////summary///paramname=strSelectStringSelectString/param///returnsDataViewoftheDataTable/returnspublicDataViewGetDataView(stringstrSqlStat){try{this.OpenDataBase();OleDbDataAdapterobjDataAdapter=newOleDbDataAdapter(strSqlStat.Trim(),this.m_objConnection);DataSetobjDataSet=newDataSet();objDataAdapter.Fill(objDataSet);returnobjDataSet.Tables[0].DefaultView;}catch(Exceptione){throwe;}finally{this.CloseDataBase();}}#endregionGetDataTable#endregionFunctions}3.Business的具体实现:建立名为Base的类,此类作为其他事务类的基类,其中定义了一个DataAgent的实例。其他所有的Business类都从该改类派生。在该类中添加对DataAgent的引用,使所有的事务类都能使用DataAgent中的方法。Base.cs源代码:publicabstractclassBase{#regionDataAgentprivateDataAgentm_objDBAgent;protectedDataAgentOleDBAgent{get{if(this.m_objDBAgent==null){this.m_objDBAgent=this.CreateAgent();}returnthis.m_objDBAgent;}set{this.m_objDBAgent=value;}}#endregionDataAgentpublicBase(){}#regionCreateAgent///summary///CreateanewDataAgent////summary///returnstheDataAgent/returnsprivateDataAgentCreateAgent(){stringstrConnection=ConfigurationSettings.AppSettings[ConnectionString];returnnewDataAgent(strConnection);}#endregionCreateAgent}准备好了数据操作层和事务层的基类,底下就可以正式地开始业务逻辑类的开发了,如有一个显示新闻的类News,其中包含了一个GetNewsLsit()的方法,该方法用来获取所有的新闻标题列表,代码如下:publicclassNews:Base{publicNewsContact(){}publicDataViewGetNewsList(){stringstrSql;strSql=;strSql+=SELECTTop10NewsId,NewsTitle;strSql+=FROMTb_News;strSql+=WHERENewsEnable=1;strSql+=ORDERBYNewsId;returnbase.OleDBAgent.GetDataView(strSql);}}由于数据库结构比较简单,在此就不再给出详细的表结构。4.UI层对Business中接口的调用首先,在页面中添加对News类的引用。然后,在页面中添加一个(DataGrid)dgNews用来显示新闻列表。在PageBehind的Page_Load方法中添加如下代码:NewsobjNews=newNews();this.dgNews.DataSource=objNews.GetNewsList();this.dgNews.DataBind();至此,大功告成!publicclassDataAgent{#regionVariables/////////////////////////////////////用VS2005.NET进行三层结构应用程序的开发1.三层之间的关系:三层是指:界面显示层(UI),业务逻辑层(Business),数据操作层(DataAccess)文字描述:Clients对UI进行操作,UI调用Business进行相应的运算和处理,Business通过DataAccess对DataBase进行操作。优点:1、增加了代码的重用。DataAccess可在多个项目中公用;Business可在同一项目的不同地方使用(如某个软件B/S和C/S部分可以共用一系列的Business组件)。2、使得软件的分层更加明晰,便于开发和维护。美工人员可以很方便地设计UI设计,并在其中调用Business给出的接口,而程序开发人员则可以专注的进行代码的编写和功能的实现。2.DataAccess的具体实现:DataAgent类型中变量和方法的说明:privatestringm_strConnectionString;//连接字符串privateOleDbConnectionm_objConnection;//数据库连接publicDataAgent(stringstrConnection)//构造方法,传入的参数为连接字符串privatevoidOpenDataBase()//打开数据库连接privatevoid#regionCloseDataBase()//关闭数据库连接publicDataViewGetDataView(stringstrSqlStat)//根据传入的连接字符串返回DataView具体实现代码如下:publicclassDataAgent{#regionVariablesprivatestringm_strConnectionString;privateOleDbConnectionm_objConnection;#endregionVariables#regionFunctions#regionDataAgend///summary///InitialFunction////summary///paramname=strConnection/parampublicDataAgent(stringstrConnection){this.m_strConnectionString=strConnection;}#endregionDataAgend#regionOpenDataBase///summary///functiontoopendatabase////summaryprivatevoidOpenDataBase(){try{this.m_objConnection=newOleDbConnection();this.m_objConnection.ConnectionString=this.m_strConnectionString;if(this.m_objConnection.State!=ConnectionState.Open){this.m_objConnection.Open();}}catch(Exceptione){throwe;}}#endregionOpenDataBase#regionCloseDataBase///summary///thefunctiontocloasedatabase////summaryprivatevoidCloseDataBase(){if(this.m_objConnection!=null){if(this.m_objConnection.State==ConnectionState.Open){this.m_objConnection.Close();}}}#endregion#regionGetDataView///summa

1 / 15
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功