.NET不用代码生成器自己写一个生成Code的DLL 自动动态生成三层架构(一)概况
大家好,我是新灵感中的一个小灵感,今日有幸能在博客园写点自己的东西,非常的高兴,自己也从事这个职业差不多快4年了,一直没有怎么认真写过东西,非常的惭愧啊。
所以与其明天再写,还不如就从现在写起走,把自己的心得留在cnblogs的数据盘中,但愿不是一些垃圾东西,呵呵。好了,不要扯得太多了,下面来开始今天我所要谈到话题吧。
现在网络上有很多的.net代码生成器,如在国内比较流行的有动软,傻瓜式的代码,架构很不错,国外比较著名的有Code Smith,非常的棒,但是往往在开发的过程中还是不能满足自己的需求,这样往往又会让人在代码生成器上面去想想,有没有什么招。
举个例子,比如一个系统需要管理一台服务器上面所有网站的数据库,而且还要对特定的数据库进行一定的修改,添加或删除功能,那么系统要随着用户的操作可能随时需要切换数据库,甚至切换不能类型的数据库,如MySql,SqlServer,Access,等,这样如果系统能够根据当前使用的数据库自动生成3层架构的DLL,并动态引用,那就好办得多了。
先截取一个图,来看看整个3层架构代码生成的主要代码结构。
这里是生成一个数据 库的三层架构代码DLL的操作方法,
其中“XLG.DATA”为生成DLL的前辍,“Data Source=FEI-PC\\SQLEXPRESS;Uid=sa;Pwd=111;database=XINLG.User”为数据库连接字串,“SqlServer”为数据库的类型。
生成结果看这里,这里生成了两个数据库操作DLL,一个是XLG.DATA 还有一个是XLG.User.DATA,最底部一个YCFAC.Labs.CodeFac就是生成代码的DLL
最后我们来做一个测试效果,看吧,数据操作类的命名空间全部出来了,前提是一定要引用命名空间哟。
今天就写到这里了,下结将会具体来写CodeFac.Dll是如何实现的,它的生成机制是怎样的。