博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
抽象工厂+反射(一)
阅读量:4165 次
发布时间:2019-05-26

本文共 951 字,大约阅读时间需要 3 分钟。

写在前面

期间自己由于毕业设计和答辩的事情,计算机的进度拖了一个月了,现在心里很惭愧,就化悲愤为动力吧。小编会在持续时间内不断更新自己机房重构遇到的问题和自己经历,希望大家多多指教。

今天下午调试的过程中遇到这个问题,看图:

这里写图片描述

where

这个问题是在那里遇到的呢?我在配置文件+工厂+反射实现功能时候,出现这个问题,我当时的代码是这样写的:

string StrDB = System.Configuration.ConfigurationManager.ConnectionStrings ["LoginDAL"].ToString() ;         //接收来自配置文件的数据public IDal.ILoginDAL CreateUserInfo() {    string className = StrDB + "." + "LoginDAL";                                                                            return(IDal.ILoginDAL)Assembly.Load(StrDB).CreateInstance(className); }

办法

我开始也是无从下手,自己也是稀里糊涂的感觉,找师哥看了看,发现不是代码的问题,之后我们去网上找到了解决的办法,问题提示系统找不到文件,其实文件是存在的,只是我们没有加载出来。

我们程序运行时都会从主程序开始运行,也就是从UI启动整个程序,很多用到的DLL文件都需要在这个时候被加载。而D层的dll在程序启动的时候没有被加载出来,怎么办呢?
不用担心我们可以设置路径,将DLL文件加载到UI层中:
这里写图片描述
如果不修改路径,默认的是当前的类库。现在你发现刚刚的问题解决了。

碎碎念

发现问题

自己的搜索能力还是不够快速和准确,怎么办呢?我想刻意训练应该是最好的办法。

总结

自己成长的过程,是一个不断解决问题的过程,同时正如米老师所言,办法总比困难多,平静的面对。

思考

对于抽象工厂和反射使用自己现在了解的是在我们更换数据库的时候只需要在配置文件中修改参数就可以更换了,但是具体是如何实现数据库的切换我还是不太明白的,这是之后自己学习和体会的地方。

你可能感兴趣的文章
LOCAL_PRELINK_MODULE和prelink-linux-arm.map
查看>>
Ubuntu Navicat for MySQL安装以及破解方案
查看>>
java多线程中的join方法详解
查看>>
idea添加gradle模块报错The project is already registered
查看>>
在C++中如何实现模板函数的外部调用
查看>>
HTML5学习之——HTML 5 拖放
查看>>
HTML5学习之——HTML 5 Canvas vs. SVG
查看>>
HTML5学习之——HTML 5 应用程序缓存
查看>>
HTML5学习之——HTML 5 Web Workers
查看>>
HTML5学习之——HTML 5 Canvas
查看>>
HTML5学习之——HTML5 内联 SVG
查看>>
HTML5学习之——HTML 5 服务器发送事件
查看>>
SVG学习之——HTML 页面中的 SVG
查看>>
SVG 形状学习之——SVG圆形
查看>>
SVG 滤镜学习之——SVG 滤镜
查看>>
mysql中用命令行复制表结构的方法
查看>>
hbase shell出现ERROR: org.apache.hadoop.hbase.ipc.ServerNotRunningYetException
查看>>
让代码变得更优雅-Lombok
查看>>
解决Rhythmbox乱码
查看>>
豆瓣爱问共享资料插件发布啦
查看>>