反射工厂在数据访问层的应用
2 <!--设置数据访问层程序集,sql为prjName.SQLServerDAL,oracle为prjName.OracleDAL -->
3 <add key="WebDAL" value="prjName.SQLServerDAL"/>
4 </appSettings>
5
当程序运行时由工厂类DalFactory调用ConfingurationManager类的AppSettings方法获取web.config中的键值,采用反射技术动态加载指定类型
2 using System.Configuration;
3
4 namespace prjName.DALFactory {
5 /// <summary>
6 /// 工厂类,用于创建产品类实例
7 /// </summary>
8 public sealed class DataAccess {
9
10 // 获取使用的程序集的名称
11 private static readonly string path = ConfigurationManager.AppSettings["WebDAL"];
12 private DataAccess() { }
13
14 public static prjName.IDAL.IDal CreateDal() {
15 string className = path + ".userDal";
16 return (prjName.IDAL.IDal)Assembly.Load(path).CreateInstance(className);
17 }
18
19 }
20 }
数据访问层接口类
2
3 /// <summary>
4 /// 产品抽象类
5 /// </summary>
6 public interface IDal{
7
8 /// <summary>
9 /// 从数据库中查询用户信息
10 /// </summary>
11 userInfo getUserInfo(string userId,string pwd);
12 }
13 }
访问SqlServer数据库的具体数据访问类
2
3 public class userDal : IDal {
4 /// <summary>
5 /// 从数据库中获取用户信息
6 /// </summary>
7
8 public userInfo GetUserInfo(string userId) {
9
10 //省略数据库访问代码
11 // :
12 // :
13
14 }
15 }
16 }
访问oracle数据库访问类
2
3 public class userDal : IDal {
4 /// <summary>
5 /// 从数据库中获取用户信息
6 /// </summary>
7
8 public userInfo GetUserInfo(string userId) {
9
10 //省略数据库访问代
11 // :
12 // :
13
14 }
15 }
16 }
转载于:https://www.cnblogs.com/lin614/archive/2008/04/24/1169047.html
反射工厂在数据访问层的应用相关推荐
- 谈一谈:抽象工厂+反射+配置文件 实现数据访问程序
<大话设计模式>中第15章中<就不能不换DB吗?>引出了我今天要谈论的主题:抽象工厂+反射+配置文件 实现数据访问程序.当时也不甚理解啊!到了机房收费的亲身实践中,终于体会到了 ...
- 数据访问层之数据库访问设计(转)
在PetShop中,系统需要处理的数据库对象分为两类:一是数据实体,对应数据库中相应的数据表.它们没有行为,仅用于表现对象的数据.这些实体类都被放到Model程序集中,例如数据表Order对应的实体类 ...
- 企业级应用架构(三)三层架构之数据访问层的改进以及测试DOM的发布
在上一篇我们在宏观概要上对DAL层进行了封装与抽象.我们的目的主要有两个:第一,解除BLL层对DAL层的依赖,这一点我们通过定义接口做到了:第二,使我们的DAL层能够支持一切数据访问技术,如Ado.n ...
- 打造自己的数据访问层(三)
上一篇打造自己的数据访问层(二)中,我们已具体实现了数据访问层对应的功能,该进行收尾工作了,先来看段代码,试试上一篇实现的功能: View Code string sqlText = "SE ...
- petshop4.0 详解之二(数据访问层之数据库访问设计)
在系列一中,我从整体上分析了PetShop的架构设计,并提及了分层的概念.从本部分开始,我将依次对各层进行代码级的分析,以求获得更加细致而深入的理解.在PetShop 4.0中,由于引入了ASP.Ne ...
- petshop4.0 详解之三(PetShop数据访问层之消息处理) [转]
三.PetShop数据访问层之消息处理 在进行系统设计时,除了对安全.事务等问题给与足够的重视外,性能也是一个不可避免的问题所在,尤其是一个B/S结构的软件系统,必须充分地考虑访问量.数据流量.服务器 ...
- [wayfarer]PetShop数据访问层之消息处理
原文地址: http://www.cnblogs.com/wayfarer/archive/2006/09/06/496207.html <解剖PetShop>系列之三 三.PetShop ...
- [wayfarer]PetShop数据访问层之数据库访问设计
原文地址: http://www.cnblogs.com/wayfarer/archive/2006/04/21/381315.html <解剖PetShop>系列之二 二.PetShop ...
- 数据访问层DAL的再次重构_3(转载)
原文链接 接着数据访问层DAL的再次重构_2_模块的自定义设置节我们继续实现,到这里,开始后台编码,经历了建立数据库.建表.存储过程.web.config的自定义配置节点后,我们来实现数据访问层的编码 ...
最新文章
- 无人机、IoT 设备都有漏洞?专访以色列老牌安全企业Check Point | 拟合
- 短序列组装Sequence Assembly(转载)
- 三大技术突破,网易云信实现在线音乐教育极速上线
- 【Java操作】IDEA 导入Springboot 项目:
- Redis架构及分片管理
- php stomp rabbitmq,docker环境下的RabbitMQ部署,Spring AMQP使用
- SpringMVC框架使用注解执行定时任务
- 地址解析协议ARP:ARP欺骗
- 74LV165与74HC595 使用
- 【J2ME笔记】关于J2ME Image图片指定颜色透明化
- [论文阅读] (19)英文论文Evaluation(实验数据集、指标和环境)如何描述及精句摘抄——以系统AI安全顶会为例
- 网络管理(课程总结3)Week12 澳大利亚维多利亚大学VIT1104 Computer Networks
- Android动态ip请求,连接从Android设备的locahost使用动态IP地址(不断变化的)
- 用php搭建微信公众号,用PHP搭建一个自己的微信公众号
- 软工专硕考研_你可能需要了解--2018年北京大学软微软件工程专硕考研 经验分享...
- Scroller类的源码分析以及使用
- SQL 排序时对Null值的处理
- 使用Synopsys VCS使用constraint遇到的一个奇怪问题
- 未来音乐战场:从「听音乐」到「用音乐」
- 【APICloud系列|29】dialogBox模块(对话框)的实现
热门文章
- python对数据进行统计分析_python获取ELK数据进行统计分析
- Android 8.0 linux内核,在Ubuntu上为Android增加硬件抽象层(HAL)模块访问Linux内核驱动程序---Android8.0版本实现-对照老罗版本...
- 小程序跳转样式布局错乱_小程序页面布局样式元素总结
- html版本操作手册,全新HTML5用户手册(版本2017)–互联网股票买卖操作.PDF
- 网络启动安装linux客户机nfs设置,NFS服务端和客户端安装配置
- python和.net的区别_c#教程之.net和C#的区别
- mysql检索整数_MyBatis从MySql DB中检索整数为Enum
- 单片机和微型计算机硬件组成的异同,嵌入式和单片机的区别是什么?两者有什么联系...
- mysql ceil,MySQL常用函数介绍
- 新疆大学c语言期末考试题库,2016年新疆师范大学教育科学学院C语言程序设计考研复试题库...