本篇文章仅仅是为了介绍下CodeSmith这个工具。
刚工作那会,都是直接写ADO.NET与数据库交互。后来领导说你们以后就不用写ADO.NET了,这块由他统一处理,我们只需要调用相关的东东就可以。后来发现他使用CodeSmith通过模板自动根据数据表生成相应的BLL/DAL/IDAL/ENTITY(当时项目用的是三层架构)。这样一来,重复的代码或者重复的逻辑出现,就可以采用codesmith根据自定义模板,生成代码。提高了开发效率,节约开发时间。那么CodeSmith是什么?
CodeSmith 是一种基于模板的代码生成工具,它使用类似于 ASP.NET的语法来生成任意类型的代码或文本。所以我们需要自定义符合自己项目的模板,通过CodeSmith来生成代码。codeSmith模板语法的教程如下https://www.w3cschool.cn/codesmith/bg531hsi.html。
就像开头提到的那样,我们项目使用的是三层架构,通过CodeSmith我们自动生成了BLL/IBLL/DAL/IDAL/ENTITY/DALFACTORY。所以我们有自己的一套模板,如截图:
因为现在各种ORM框架层出不穷,市面上大部分都选用了ORM,为了适应发展, 针对公司的项目,使用过NHibernate和EF。渐渐的CodeSmith就没再使用过。但是考虑到这些ORM的执行效率并没有原生的SQL高,所以针对不同的场景,有可能以后还会选择手写SQL,那就不可避免的要使用CodeSmith提高开发效率了。
至于怎么写codeSmith模板,上边已经附上了教程,大家可以参考下,其实核心就是按照目前自己公司的项目结构建立模板结构,将每个模板中需要动态改变的提取出来,能够人工配置。
CodeSmith工具下载地址:
官网下载地址:http://www.codesmithtools.com/downloads
带破解注册工具的codesmith链接:http://pan.baidu.com/s/1dDdndsd。