【Asp.net精品源码栏目提醒】:网学会员在Asp.net精品源码频道为大家收集整理了“三层架构CS程序设计实例_C#描述 - 其它资料“提供大家参考,希望对大家有所帮助!
三层架构C/S程序设计实 例C描述 1 三层之间的关系: 三层是指:界面显示层UI,业务逻辑层Business,数据操作层Data Access 文字描述: Clients对UI进行操作, UI调用Business进行相应的运算和处理,Business通过Data Access对Data Base进行操作。
优点: 增加了代码的重用。
Data Access可在多个项目中公用;Business可在同一项目的不同地方使用(如某个软件B/S和C/S部分可以共用一系列的Business组件) 。
使得软件的分层更加明晰,便于开发和维护。
美工人员可以很方便地设计UI设计,并在其中调用Business给出的接口,而程序开发人员则可以专注的进行代码的编写和功能的实现。
2 Data Access的具体实现:DataAgent类型中变量和方法的说明:private string m_strConnectionString //连接字符串private OleDbConnection m_objConnection //数据库连接public DataAgentstring strConnection //构造方法,传入的参数为连接字符串private void OpenDataBase //打开数据库连接private void region CloseDataBase //关闭数据库连接public DataView GetDataViewstring strSqlStat //根据传入的连接字符串返回DataView具体实现代码如下:public class DataAgent private string m_strConnectionString private OleDbConnection m_objConnection region DataAgend /// /// Initial Function /// /// public DataAgentstring 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 endregionregion CloseDataBase////// Close Database///private void CloseDataBase if this.m_objConnection null if this.m_objConnection.State ConnectionState.Open this.m_objConnection.Close endregionregion GetDataView /// /// Execute the sql and return the default table view /// ///Select String ///DataView of the DataTable public DataView GetDataViewstring strSqlStat try this.OpenDataBase OleDbDataAdapter objDataAdapter newOleDbDataAdapterstrSqlStat.Trim this.m_objConnection DataSet objDataSet new DataSet objDataAdapter.FillobjDataSet return objDataSet.Tables0.DefaultView catch Exception e throw e finally this.CloseDataBase endregion 3 Business的具体实现: 建立名为Base的类,此类作为其他事务类的基类,其中定义了一个DataAgent的实例。
其他所有的Business类都从该改类派生。
在该类中添加对DataAgent的引用,使所有的事务类都能使用DataAgent中的方法。
Base.cs源代码:public abstract class Base protected DataAgent OleDBAgent newDataAgentProviderSQLOLEDBData SourcelocalDataBasetestUserIDsaPWD 准备好了数据操作层和事务层的基类,底下就可以正式地开始业务逻辑类的开发了,如有一个显示新闻的类News其中包含了一个GetNewsList的方法,该方法用来获取所有的新闻标题列表,代码如下:public class News : Base public DataView GetNewsList string strSql strSql strSql SELECT Top 10 NewsIdNewsTitle strSql FROM Tb_News strSql WHERE NewsEnable 1 strSql ORDER BY NewsId return OleDBAgent.GetDataViewstrSql 由于数据库结构比较简单,在此就不再给出详细的表结构。
4 UI层对Business中接口的调用 首先,在窗体Form1中添加对News类的引用。
然后,在窗体Form1中添加一个DataGridViewdgNews用来显示新闻列表。
在窗体的Form1_Load方法中添加如下代码:private void Form1_Loadobject sender EventArgs e News objNews new News this.dgNews.DataSource objNews.GetNewsList
上一篇:
1 net概述及vs2008环境
下一篇:
餐饮管理系统