知识大全 VS2005.NET进行三层结构应用程序的开发

Posted

篇首语:寸阳分阴须爱惜,休负春色与时光。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 VS2005.NET进行三层结构应用程序的开发相关的知识,希望对你有一定的参考价值。

VS2005.NET进行三层结构应用程序的开发  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

一 三层之间的关系

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

  文字描述

  Clients对UI进行操作 UI调用Business进行相应的运算和处理 Business通过Data Access对Data Base进行操作

  优点

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

   使得软件的分层更加明晰 便于开发和维护 美工人员可以很方便地设计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#region Variables

  private string m_strConnectionString;private OleDbConnection m_objConnection;

  #endregion Variables#region Functions#region DataAgend///

/// Initial Function/// /// public DataAgent(string strConnection)this m_strConnectionString = strConnection;#endregion DataAgend#region OpenDataBase/// /// function to open data base/// private void OpenDataBase()trythis 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

  ///

/// 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

  ///

/// Execute the sql and return the default table view/// ///

  Select String

/// DataView of the DataTable

  public DataView GetDataView(string strSqlStat)trythis OpenDataBase();OleDbDataAdapter objDataAdapter =

  new OleDbDataAdapter(strSqlStat Trim() this m_objConnection);DataSet objDataSet = new DataSet();objDataAdapter Fill(objDataSet);return objDataSet Tables[ ] DefaultView;

  catch(Exception e)throw e;finallythis CloseDataBase();

  #endregion GetDataTable#endregion Functions

  三 Business的具体实现

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

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

  Base cs源代码

  

  

  public abstract class Base#region DataAgentprivate DataAgent m_objDBAgent;protected DataAgent OleDBAgentgetif(this m_objDBAgent == null)this m_objDBAgent = this CreateAgent();return this m_objDBAgent;

  setthis m_objDBAgent = value;

  #endregion DataAgentpublic Base()

  #region CreateAgent///

/// Create a new DataAgent/// /// the DataAgent

  private DataAgent CreateAgent()string strConnection =

  ConfigurationSettings AppSettings[ ConnectionString ];return new DataAgent(strConnection);#endregion CreateAgent

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

  

  

  public class News: Basepublic News Contact()

  public DataView GetNewsList()string strSql;strSql = ;strSql +=    SELECT Top NewsId NewsTitle ;strSql +=      FROM Tb_News ;strSql +=     WHERE NewsEnable = ;strSql += ORDER BY NewsId ;

  return base OleDBAgent GetDataView(strSql);

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

  四 UI层对Business中接口的调用

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

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

  在Page Behind的Page_Load方法中添加如下代码

  

  News objNews = new News();this dgNews DataSource = objNews GetNewsList();this dgNews DataBind();

cha138/Article/program/net/201311/13752

相关参考

知识大全 VS2005+Crystal Report开发Web应用

VS2005+CrystalReport开发Web应用  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧

知识大全 vs.net打造发送与接收端程序

  本篇文章的主要开发环境是VisualStudioVisualStudio系列产品一直以来都提供了强大的控件功能然而我们利用这些控件可以编写出功能强大的应用程序本文主要利用微软的最新net开发工具为

知识大全 .NET三层架构应用之十层框架

.NET三层架构应用之十层框架  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  凡是接触net开发

知识大全 .NET中三层构架开发实例-用户注册系统

.NET中三层构架开发实例-用户注册系统  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!下面是用户注

知识大全 VS中的Code Snippet来提高开发效率

VS中的CodeSnippet来提高开发效率  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  环境

知识大全 善用VS中的Code Snippet来提高开发效率

善用VS中的CodeSnippet来提高开发效率  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  

知识大全 软件开发的“简单”艺术—有感于VS.net

软件开发的“简单”艺术—有感于VS.net  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  前不久

知识大全 浅谈三层结构与MVC模式的区别

浅谈三层结构与MVC模式的区别  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  有朋友谈到三层与M

公文中的结构层次序数,第三层为__

公文中的结构层次序数,第三层为_____。A、“l、”B、“1.”C、“(一)”D、“l”答案:B解析:《党政机关公文格式》规定,文中结构层次序数依次可以用“一、”“(一)”“1.”“(1)”标注。因

知识大全 Oracle推出开发工具支持.NET3.5与VS2008

Oracle推出开发工具支持.NET3.5与VS2008  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下