抽象工厂之“反射”技术
来源:互联网 发布:登陆淘宝网店 编辑:程序博客网 时间:2024/05/03 12:45
在七层中最重要的一个闪光点就是使用了“反射”技术,下面来说一下我自己的理解。
在说反射前,先说一下“键值对”。在机房收费系统的配置文件中有一段这样的代码:
<appSettings> <add key="ConnStr" value="server=.;database=my_db;User ID=sa;password=123456" /> <add key="DBString" value="DAL" /> </appSettings>
这里面的每一个“key”都对应着一个相应的值“value”,key与value做到一一对应。这样根据key,就可以得到与其对应的值了。
在反射工厂中以登录功能为例,看它是如何运用的:
string StrDB = System.Configuration.ConfigurationManager.AppSettings["DBString"]; //登录 public InterfaceDAL.InterfaceLogin CreateFact() { return (InterfaceDAL.InterfaceLogin)Assembly.Load(StrDB).CreateInstance("DAL.LoginDAL");//反射+工厂的实现 }看第一行代码:通过加载“DBString”,字符串StrDB就可以得到“DBString”对应的值:“DAL”,而“DAL”就是我D层中类库的名称。
登录功能中Assembly加载的路径是“StrDB”,就可以找到D层了,然后激活具体的实例:“DAL:LoginDAL”,(这里是我D层下具体的类名),就可以找到具体的D层下面的各个类文件了。
当然使用反射的主要目的就是方便更换数据库,在现实项目中,如果需要更换数据库,那么只要把第一个键值对中的数据库该换掉就OK啦!
想到这里,这是不得不佩服人类的智慧啊!
1 0
- 抽象工厂之“反射”技术
- 设计模式之反射+抽象工厂模式
- 三层之抽象工厂加反射实例
- 三层架构之抽象工厂加反射
- 三层之抽象工厂加反射实例
- 抽象工厂反射
- 抽象工厂模式+反射
- 抽象工厂+反射+配置文件
- 简单工厂模式、工厂模式、抽象工厂模式 与反射技术应用
- 抽象工厂+反射=反射工厂
- 三层架构之抽象工厂加反射----实现数据库转换
- 《三层架构之抽象工厂加反射》纠错
- 设计模式之 抽象工厂 与 c++反射
- 三层架构之抽象工厂加反射----实现数据库转换
- 机房重构之配置文件、反射和抽象工厂
- 设计模式——抽象工厂之反射“+”
- 机房收费系统之抽象工厂模式+配置文件+反射
- 设计模式之用反射机制改进的抽象工厂
- 第3章 Spring高级话题
- Php中的调用上下文和解析上下文
- AIX DB2 shell ,crontab 执行失败
- Redis 常见的性能问题和解决方法
- 【学习日志】Python Web开发 TDD方法/“不测试常量”
- 抽象工厂之“反射”技术
- mysql语句
- 关于PV操作
- 基于行的逻辑
- TCP UDP IP HTTP之间的联系
- 康拓展开
- Android中微信支付申请、集成、出包等整个过程
- 天天爱跑步
- Codeforces 734E. Anton and Tree By Assassin 缩点+树的最大直径