抽象工厂+反射(一)

写在前面

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

今天下午调试的过程中遇到这个问题,看图:
抽象工厂+反射(一)_第1张图片

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层中:
抽象工厂+反射(一)_第2张图片
如果不修改路径,默认的是当前的类库。现在你发现刚刚的问题解决了。

碎碎念

发现问题

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

总结

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

思考

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

你可能感兴趣的:(——【机房重构.C#】,✿,设计模式,设计模式,架构)