日期:2014-05-17  浏览次数:20809 次

求解:ASP.NET中的添加引用到底是一个什么样的事情

        在我们提高班,到现在为止机房收费系统是每个人的必做项目,而且不止一遍。但是每一遍有每一遍的意义。

        第一遍,我们用的VB6.0,当看到这个系统是自己一行一行敲出来的时候,心里有种不敢相信的感觉,所以我们

建立了兴趣,建立了信心,只要坚持,我们一定能够成功。

        第二遍,用VB.NET,这一次就说不好要重做几次了。我们学习了分层,所以在这要体验分层带来的好处,分层

带来的纠结,分层分了半年多了,却发现分的还是不好。

        第三遍,是基于第二遍的,因为这次,要体验合作开发的快乐。

        经过上次老师讲解,在讲完的当时,我发现,原来是这个样子啊。但是好奇心让我,不得不想着去做两个Demo

来验证一下。

        首先,说一下这个系统的样子,系统采取经典三层架构,然后添加了外观模式来对功能进行模块的划分,还用了

抽象工厂加反射来实现数据库的更换方便。下图是架构图。

        

        此架构通过抽象工厂加反射使得工厂和DAL层没有依赖的关系,所以在生成的过程中,DAL层的DLL是不会生成

到其他层里面的bin的Debug下面的,也就使得如果不对DAL层进行那么一点点处理,那么是会报错的,为什么报错自

己研究。

        我用了两种方法,一种是在UI层添加了对DAL层的引用(是万万不可取的,因为在架构图上,是没有任何层对DAL

层进行了依赖。第二种就是讲DAL的生成路径改成了UI下的bin的Debug。

        对于第一种,因为违反了架构图,所以做法不可取,但是,是不是我在UI层添加了对DAL层的引用,那么编写好

的程序打包后DAL不是仅仅打包成一个.dll文件,而是将DAL.dll文件打包到UI中了,那么在更换了DAL.dll后,程序就

无法运行。按照上面的架构来说,就是说BLL中原来的登陆检查是只检查是否已登陆,那么我现在讲BLL中的登陆方