【设计模式】反射+配置文件
来源:互联网 发布:c语言实现快速排序 编辑:程序博客网 时间:2024/06/06 07:35
之前在学习设计模式的时候,对于抽象工厂中的反射+配置文件的使用一直都是一知半解的,但是在机房重构七层登录的运用以及报错,让自己对于反射
的使用有了更深刻的认识。
反射就像是一个简单的记录+反射器,将配置文件中的内容反射到当前所要运用的内容中来。
反射的运用格式:
Assembly.Load(“程序集名称”).CreateInstance(“命名空间.类名称”)
话不多说,先上代码:
配置文件:App.config 【在U层中】
代码:
<?xml version="1.0" encoding="utf-8" ?><configuration> <appSettings> <add key ="ConStr" value ="server=.;database=CRRData;uid=sa;password=123456"/> <add key ="DB" value ="SQLserver"/> </appSettings> </configuration>
反射:【Factory层】
代码:
namespace Factory{ public class LoginFactory { string StrDB = System.Configuration.ConfigurationManager.AppSettings["DB"]; //接收来自配置文件的数据 public IDAL.LoginIDAL CreateUser() { //string ClassName = "DAL"+ "."+StrDB + "LoginDAL"; //DAL层的类名 string ClassName = "DAL" + "." + "LoginDAL"; return (IDAL.LoginIDAL)Assembly.Load("LoginDAL").CreateInstance(ClassName); //反射+工厂的应用 } }}
当然在使用反射前,要先引用System.Reflection的命名空间。
在机房重构中,反射代码中的“程序集名称”为D层的程序集名称,D层为数据访问层。利用反射+配置文件就是想要实现数据访问程序。这时你输入的用户
名和密码就会进入到D层,查询数据内容。
如果你想要更换数据库,该如何做呢?
很简单,只要更改一下配置文件中的“SQLserver”内容,改为“Access”或者“Oracle”
在反射中,StrDB为一个变量,所以只要在D层添加一个对应名称的类即可。
反射中的代码图示:
对应的D层类名:
学无止境,在不断地实践中成长。这篇博客还有不足之处,希望大家能够一一指出,不吝赐教。
阅读全文
0 0
- 【设计模式】反射+配置文件
- 设计模式---抽象工厂模式+反射+配置文件
- 设计模式之反射与配置文件
- 设计模式之反射与配置文件
- 设计模式之反射与配置文件
- 设计模式之反射与配置文件
- 反射机制与配置文件结合的工厂设计模式
- 设计模式学习之简单工厂+反射+配置文件
- 抽象工厂模式+反射+配置文件
- 设计模式学习之抽象工厂模式(二)<反射+配置文件>
- 19 设计模式、反射
- 反射--工厂设计模式
- 反射技术与设计模式
- 反射技术与设计模式
- 反射技术与设计模式
- 反射技术与设计模式
- 反射技术与设计模式
- 反射技术与设计模式
- 在表已创建的情况下给表添加约束
- hdu 1848 Fibonacci again and again(SG)
- PAT 1041考试座位号
- 原生js的一些研究和总结(1)
- 数据结构小结——顺序表(数组版)
- 【设计模式】反射+配置文件
- Vim 文本对象指南 (2)
- 缓存框架 ASimpleCache 源码分析地址收藏
- java 集合(list、set、map)的特点 集合相关的类有一大堆
- 剑指offer 37---求两个链表的第一个公共结点
- HDU1864 最大报销费用(01背包)
- Hello World!
- 线性方法求欧拉数-POJ2478
- 机器学习常见算法汇总