首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > ASP >

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

2012-08-22 
求解:ASP.NET中的添加引用到底是一个什么样的事情在我们提高班,到现在为止机房收费系统是每个人的必做项目

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

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

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

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

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

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

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

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

来验证一下。

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

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

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

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

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

己研究。

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

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

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

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

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

法体改成先检查是否存在此账号,然后再检查是否已经登陆,然后将生成好的dll替换原来的,那么程序依然只是还执

行只检查是否已登陆。

        我后来做了个实验,下面我用一个比较简单的实验来澄清这个事情。

        首先我们建一个经典的三层架构吧,下面是架构以及引用关系:        求解:ASP.NET中的平添引用到底是一个什么样的事情求解:ASP.NET中的平添引用到底是一个什么样的事情求解:ASP.NET中的平添引用到底是一个什么样的事情求解:ASP.NET中的平添引用到底是一个什么样的事情
        每层中的代码如下:
UI

        现在,三层是顺序依赖的,如果按照老师说的,那么如果我如果只使得DAL层的接口保持一致,而DAL层中的代码发生变化,那么程序将无法执行,可是事实是,我新建了一个解决方案,然后重新写了DAL,然后对DAL进行替换,下面是新DAL层中的代码

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

        然后生成,进行替换,运行结果如下:

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

        所以,通过此实验,发现如果在UI层对DAL层进行了添加引用。所以我感觉引用只是把dll复制到了自己目录下的bin/Debug下,之所以不能再UI层添加DAL层的引用,是因为违反了架构,所以需要做的是该生成路径。
        但是引用到底还包含哪些呢?求大虾们赐教。

5楼tcl_6666前天 11:49
自己下去实践了,很大的优点
4楼liusong06053天前 14:52
嗯,结果是这样。n我觉得咱理解错了
3楼xhf555553天前 14:45
变量的思想
2楼lfmilaoshi3天前 07:58
还是没看懂。。。米老师
1楼zllaptx48693天前 00:06
内行看门道,外行看热闹~~~我暂时的来看热闹来了!!!!哈哈哈哈

热点排行