栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > Web开发 > JavaScript

ASP.NET开发,从二层至三层,至面向对象 (3)

JavaScript 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

ASP.NET开发,从二层至三层,至面向对象 (3)


上面使用的是Access数据,将达不到扩展与升级的要求。程序在发展的同时,有可能会转向SQL数据库,或是有些模块外包。在这情形出现,我们需要定制设计规范接口。接手此软开发的团队,所在逻辑处层中,实作这个接口即可。

下面Insus.NET尝试写一个接口,在程序中应用SQL Server的团队,不管是在逻辑层中写SQL语句的,还是在逻辑层传入参数引用存储过程的,均可实现统一的接口。




上面标记2的返回DbdataReader函数,是为了它能让Access数据库(System.Data.OleDb.OleDbDataReader)与SQL数据库(System.Data.SqlClient.SqlDataReader)均能实作。由于这两者均是继承DbDataReader类。

这样的话,以前写的Access数据库的逻辑类Bizbase,实作这个接口,得修改一下,才符合接口的标准:下面,Insus.NET实现一个逻辑类,是方便用用户在程序的中习惯写SQL语句的对象:


接下来,Insus.NET再实现一个逻辑处理类,也是程序与数据库互通的,不过它是配合SQL Server数据库的存储过程来的。当然使用存储过程,它自然有参数出现。准备之前,先写一个类Insus.NET.Parameter:

 

 现在就可以创建这个逻辑类了,它有实作接口IBiz:上面有写两个public的property,将是用来给程序对象传入引用的哪一个存储过程,以及参数。如果所引用的存储过程没有参数,传入null即可。

        private string _ProcedureName;        private List _Parameters;        public string ProcedureName        {            get { return _ProcedureName; }            set { _ProcedureName = value; }        }        public List Parameters        {            get { return _Parameters; }            set { _Parameters = value; }        }

View Code


还有一个私有方法,它是用来创建参数的。如果size传入为-1的话,系统将使用默认数据类型长度。

 private SqlParameter CreateParameter(string parameterName, SqlDbType dbType, Int32 size, object value)        {            SqlParameter sqlParameter;            if (size > 0)                sqlParameter = new SqlParameter(parameterName, dbType, size);            else                sqlParameter = new SqlParameter(parameterName, dbType);            sqlParameter.Direction = ParameterDirection.Input;            sqlParameter.Value = value;            return sqlParameter;        }

View Code


BizbaseSqlSp这个类别中,每个方法或是函数,均有几行代码冗余:解决冗余,可以把它抽取出来,写一个私有的方法:



重构好之后的BizbaseSQLSp类:

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/247170.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号