用四层结构方法开发信息管理系统

原创 2004年10月31日 15:32:00

一般来说,分层的应用程序构造方法有以下一些优点:有利于代码复用;方便程序改动;提高代码的健壮性;有利于分工。
下面以一个简单的获取用户信息的数据库应用为例,讲解一下四层结构的信息管理应用的构造方法:
1.数据库层
//比较而言,带参数的存储过程比代码中字符串加变量构造的SQL语句效率高出很多,
//所以建议将常用查询写成存储过程以供调用
CREATE TABLE dbo.users (
 FID int  NOT NULL ,
 FName nvarchar (50) NOT  NULL ,
 FPassword nvarchar (50)   NULL ,
 FRemark ntext   NULL
)

CREATE PROCEDURE dbo.sp_sel_user
@pid int
AS
select * from users where fid=@pid

2.数据组件层
//根据调用者提供的SQL语句、存储过程名称及参数等数据库对象信息返回一定格式的应用程序对象。
//数据组件需要数量相对较少,但使用面很广,一般需加入较全面的事务及异常处理,
//这里限于篇幅作了省略。
public class CDatabase
{
private string mConnectString = "Provider=SQLOLEDB.1;Data Source=mymachine;Initial Catalog=mydatabase;User ID=sa;Password=pwd;";
public bool RunProcedure(string sProcedureName, System.Data.OleDb.OleDbParameter[] oParams, out OleDbDataReader oReader)
{
 OleDbConnection oConnection=new OleDbConnection(this.mConnectString);
 OleDbCommand oCommand = new OleDbCommand(sProcedureName, oConnection);
 oCommand.CommandType = CommandType.StoredProcedure;

 if (oParams != null)
 {
  foreach (OleDbParameter oParam in oParams)
   oCommand.Parameters.Add(oParam);
 }
 oReader = oCommand.ExecuteReader(System.Data.CommandBehavior.CloseConnection);
 return true;
}
  
public string ConnectString
{
 get
 {
  return this.mConnectString;
 }
 set
 {
  this.mConnectString=value;
 }
}  
}
3.业务逻辑层
//根据调用者提供的用户ID号获取所有用户信息。
//业务层主要任务为构造业务对象和调用数据组件从数据库获取数据,
//这是实现起来最复杂的一个层面,需要熟悉数据库结构,
//并根据用户层需要设计业务对象及数据库对象。
public class CUser
{
 private int mID;
 private string mName;
 private string mPassword;
 private string mRemark;
 public CUser(int pID)
 {
  CDatabase cdb=new CDatabase();
  OleDbParameter oParam=new OleDbParameter();
  oParam.ParameterName="@pid";
  oParam.OleDbType=OleDbType.Integer;
  oParam.Value=pID;
  OleDbParameter[] oParams={oParam};
  OleDbDataReader oReader;
  cdb.RunProc("sp_sel_user",oParams,out oReader);
  this.mID=pID;
  this.mName=oReader["FName"];
  this.mPassword=oReader["FPassword"];
  this.mRemark=oReader["FRemark"];
 }
 public int ID
 {
  get
  {
   return mID;
  }
  set
  {
   mID=value;
  }
 }
 public string Name
 {
  get
  {
   return mName;
  }
  set
  {
   mName=value;
  }
 }
 public string Password
 {
  get
  {
   return mPassword;
  }
  set
  {
   mPassword=value;
  }
 }
 public string Remark
 {
  get
  {
   return mRemark;
  }
  set
  {
   mRemark=value;
  }
 }
}
4.用户界面层
//根据输入的用户ID号获取用户详细信息并写入页面TextBox元素中。
//在页面层不需要再和数据库打交道,只需调用相应的业务组件即可,
//这样就算界面有大的改动也可从容自如
private void Button1_Click(object sender, System.EventArgs e)
{
 CUser user=new CUser(this.txtID.Text);
 this.txtName.Text=user.Name;
 this.txtPassword.Text=user.Password;
 this.txtRemark.Text=user.Remark;
}

用四层结构方法开发信息管理系统

一般来说,分层的应用程序构造方法有以下一些优点:有利于代码复用;方便程序改动;提高代码的健壮性;有利于分工。下面以一个简单的获取用户信息的数据库应用为例,讲解一下四层结构的信息管理应用的构造方法:1....
  • UglyBean
  • UglyBean
  • 2004年11月02日 09:57
  • 873

J2EE肌肉系统—四层模型

J2EE是基于JAVA技术的一种标准。为什么会有这样的标准呢? 主要是在企业级应用开发当中,有一些需求,例如数据库连接,邮件服务、事件处理等,都是一些通用模块。而这些模块如果由开发人员来开发,势必增...
  • huo_yun
  • huo_yun
  • 2014年06月22日 11:30
  • 2300

Web技术四层结构

如果你的系统是大型的软件开发,那你就要做好更多层的分解,但是原则和理论上,我认为,不用分得太细。我们都知道,MVC模式把系统,分成Model、View、Controller。这样的分法是把表示层同逻辑...
  • sws9999
  • sws9999
  • 2008年11月01日 21:43
  • 4125

J2EE4层体系结构

1.什么是J2EE?J2EE即Java企业版(J2EE,Java 2 Platform Enterprise Edition),用于企业级的大型分布式网络应用 Je22是Sun公司提出的多层(mult...
  • mars50887355
  • mars50887355
  • 2006年11月08日 13:26
  • 1756

四层体系结构介绍

    分层设计的软件系统,由于把相似功能的类或组件放在同一层里。所以好的分层系统应该具备:层的内部“高内聚”,层与层之间是“松耦合”的。只有符合这样的一个设计原则的软件系统,才能具有可复用性和可扩展...
  • tonny_guan
  • tonny_guan
  • 2008年04月04日 11:13
  • 4456

TCP/IP协议四层结构

TCP/IP协议并不完全符合OSI的七层参考模型。传统的开放式系统互连参考模型,是一种通信协议的7层抽象的参考模型,其中每一层执行某一特定任务。该模型的目的是使各种硬件在相同的层次上相互通信。这7层是...
  • koudaidai
  • koudaidai
  • 2012年09月25日 16:53
  • 1222

Spring_SSH整合之_架构的历史(四层架构整合JSP+MySQL+JavaBean+Hibernate+Dao+Impl)_4

User.java-->User.hbm.xml-->Hibernate.cfg.xml-->HibernateUtil.java -->UserDao.java-->UserDaoImpl.java...
  • L1585931143
  • L1585931143
  • 2017年05月26日 23:36
  • 495

Android基础之四层架构

我们对android有了个大致的了解,知道如何搭建android的环境及简单地写一个HelloWorld程序,而且知道一个android项目包括哪些文件夹和文件及相应的作用。本篇将站在顶级的高度——架...
  • as02446418
  • as02446418
  • 2015年08月20日 14:42
  • 5448

Android 4层框架

转自http://blog.sina.com.cn/s/blog_6417f5e201011rfr.html 4层框架" style="padding-top:0px; padding-...
  • hello_zhou
  • hello_zhou
  • 2015年12月10日 18:29
  • 972

android的四层体系结构,基于mvc三层结构浅析

从多方面理解Android体系结构
  • o279642707
  • o279642707
  • 2014年06月22日 21:09
  • 2429
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:用四层结构方法开发信息管理系统
举报原因:
原因补充:

(最多只允许输入30个字)