《代码生成器的使用》
今天中午阿杰聊了会,阿杰说看了我写的博客后。发现一个问题,把Winner框架整理成文档,要把Winner框架的核心思想
给写出来,比如为什么要选择Winner框架,市面上用于开发框架很多,比如以前我们刚工作的时候用的“动软代码生成器”,又或者
后来的EF,T4 等等。
其实,我的工作生涯中用过的代码生成器和框架只有2个,从技术上的层次来说没办法达到阿杰他们那样的高度,这也导致了我
没办法将Winner框架与其它框架的优缺点一一进行对比。当然,每个框架自然有他的好处,这个是毋庸置疑的。用我老师以前的口头禅
说就是:“存在即合理!”
我想了想,还是根据我的理解来写。不一定能写出Winner的精髓,后期只能像阿杰他们请教了。就代码生成器而言我就重点对比一下
“动软代码生成器” 和 "Winner 代码生成器"。
其实,我个人的观点动软的代码生成器界面是比我们的Winner代码生成器 要美观一点,但是代码生成器的职责是生成代码,而生成代码的关键因素是“模板”。
待会我再详细讲模板。
这里先说一下数据库,由于本身 Sqlserver 和 .Net 一脉相承,所以微软本身会更推荐使用Sqlserver数据库,sqlserver本身也易于操作,一直以来江湖传言
在大型项目开发一定要用“Oracle”,Oracle性能比sqlserver 如何如何好,这里其实我没有做过详细的测试。姑且听之信之,Sqlserver方面我们没有深入了解过,
使用Oracle的时候,对集群,备份 ,性能分析 等等方面 Oralce确实有很多优先的方案,比如“RAC”,“DataGuard”,“Rman” 等等(我们选择Oracle也是因为当遇到问题时网上能找到详细的解决方案)。
事实我们也看过很多案例比如做支付领域,物流领域。数据较大的行业基本都是Oralce为主,当然也有组合数据库使用(包括NO-sql)。
所以,Winner一直以来首选 的数据库是Oracle,当然也不局限于Oracle。这里特意说一下数据库方面,回到主题上来。“动软” 一开始我估计就是为sqlserver设计的
所以在代码生成上有一项功能我非常喜欢,动软可以根据实例 一键生成 整个项目。这点Winner则做不了,主要是因为Oracle一安装就只有一个实例,下面再是分用户分空间的。
我们没有把Oracle玩的那样的娴熟,前面的篇章中我也有讲到,因为我们的思想上一直认为“数据库”的职责是做数据库持久化存储,所以我们所有的项目表都是
建在一个Oracle用户下,技术员我们会单独分配“账户”,这里的“账户”不是指的Oralce用户。 再对“账户”进行表操作权限分配。
按下F5键,代码生成窗口,检索并选择要生成的数据表,添加 生成,搞定。
在上一篇《Winner2.0框架解决方案命分层规范》 中有特别讲到过数据库的命名规范,也体现了命名规范的重要性,在检索项目的时候,我们只要输入T项目项目 即可检索出该
项目所有的数据表, 在整个数据库中,这也规避了如A项目有个地址表,B项目也有个地址表,且两个地址表不能共用。这时就可以通过前缀来区分开来。
Sqlserver | Oracle |