三层架构CS模式程序设计实例.doc_第1页
三层架构CS模式程序设计实例.doc_第2页
三层架构CS模式程序设计实例.doc_第3页
三层架构CS模式程序设计实例.doc_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

三层架构C/S程序设计实例(C#描述) .三层之间的关系: 三层是指:界面显示层(UI),业务逻辑层(Business),数据操作层(Data Access)文字描述:Clients对UI进行操作,UI调用Business进行相应的运算和处理,Business通过Data Access对Data Base进行操作。优点:l 增加了代码的重用。Data Access可在多个项目中公用;Business可在同一项目的不同地方使用(如某个软件B/S和C/S部分可以共用一系列的Business组件)。l 使得软件的分层更加明晰,便于开发和维护。美工人员可以很方便地设计UI设计,并在其中调用Business给出的接口,而程序开发人员则可以专注的进行代码的编写和功能的实现。.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 private string m_strConnectionString; private OleDbConnection m_objConnection; #region DataAgend / / Initial Function / / public DataAgent(string strConnection) this.m_strConnectionString = strConnection; #endregion #region OpenDataBase / / Open Database / 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 #region CloseDataBase / / Close Database / private void CloseDataBase() if (this.m_objConnection != null) if (this.m_objConnection.State = ConnectionState.Open) this.m_objConnection.Close(); #endregion #region GetDataView / / Execute the sql and return the default table view / /Select String /DataView of the DataTable 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.Tables0.DefaultView; catch (Exception e) throw e; finally this.CloseDataBase(); #endregion.Business的具体实现:建立名为Base的类,此类作为其他事务类的基类,其中定义了一个DataAgent的实例。其他所有的Business类都从该改类派生。在该类中添加对DataAgent的引用,使所有的事务类都能使用DataAgent中的方法。Base.cs源代码:public abstract class Base protected DataAgent OleDBAgent = new DataAgent(Provider=SQLOLEDB;Data Source=(local);DataBase=test;User ID=sa;PWD=);准备好了数据操作层和事务层的基类,底下就可以正式地开始业务逻辑类的开发了,如有一个显示新闻的类News,其中包含了一个GetNewsList()的方法,该方法用来获取所有的新闻标题列表,代码如下:public class News : Base 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 OleDBAgent.GetDataView(strSql); 由于数据库结构比较简单,在此就不再给出详细的表结构。.UI层对Business中接口的调用首先,在窗体Form1中添加对News类的引用。然后,在窗体Form1中添加一个(DataGridView)dgNews用来显示新闻列表。在窗体的Form1_L

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论