软件开发工具介绍之 1.代码生成器

       在程序开发过程当中,程序员会经常做着重复性的工作,最常见的是访问数据库,程序员要经常编写增、删、改、分页之类的操作。为了避免这个问题,节省大量机械录入的时间和重复劳动,提高工作效率,而将精力集中于核心业务逻辑的开发。一个适合于自己使用的代码生成器显得非常重要。

1.动软        

      国内流行最广。动软.Net代码生成器是一款李天平开发的为C#数据库程序员设计的自动代码生成器,Codematic 生成的代码基于面向对象的思想和三层架构设计,结合了Petshop中经典的思想和设计模式,融入了工厂模式,反射机制等等一些思想。主要实现在对应数据库中表的基类代码的自动生成,包括生成属性、添加、修改、删除、查询、存在性、Model类构造等基础代码片断,支持不同3种架构代码生成。       

其它功能:自动生成SQL脚本;自动生成数据库结构文档。

优点:简单易用,符合国人习惯

缺点:灵活度太差,生成后经常需要经过手工修改,才能运用于项目中。虽然公开了一些插件的源代码,但还是很麻烦

下载地址:http://www.maticsoft.com/download.aspx

2.CodeSmith

一款国际知名度最高的基于模板的代码生成器,模板采用类似C#的脚本语言,有点像Xls+Xml的生成模板的方式。

它主要特点在于模板的定制能力强,你完全可以像使用C#语言开发程序一样,编写属于自己的模板。如果嫌麻烦,在网上完成可以找到想要的模板,稍加修改就可以变成适合自己的了。你一些ORM(NHibernate、IBatis、LINQ)、三层架构(Petshop、NTiers)、数据库(分页、CRUD存储过程、生成基础数据)、架构(CSLA.NET)、Ajax等等。几乎覆盖了所有应用,可以说“只有想不到,没有做不到”。

Codesmith

 

     界面和操作与Visual Stdio有点类似。在模板库中选定模板(双击)后,在编辑窗口中可进行适当修改(一般不需要修改,除非有特殊情况),然后在属性设置窗口,

                  •         优点: 灵活;拥有大量的模板资源
    •         缺点: 学习相关语言;收费

3.MyGeneration.NET

与CodeSmith类似的一个非常出色代码生成工具,都是以模板作为基础。它拥有大多数CodeSmith的优点,而且模板资源不需要自己到处寻找,官方网站中提供了大量官方或其它用户上传的模板,客户端只要能联上网,就可以随时同步更新这些模板,方便多了。

image

还有比较重要的一点是:完全开源。这样你即不需要付一笔费用,还可以随意定制适合自己的代码生成工具。

下载地址:http://sourceforge.net/projects/mygeneration

转载于:https://www.cnblogs.com/dusonchen/archive/2010/06/03/1739047.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/261950.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python自带的shell、其性能优于ipython吗_Python自带的shell,其性能优于IPython

信源X的,自带每一机事件的都相等个随概率,即P。 优于 自带优于 自带求(机械的保养要。 优于标有机械的主管理要指。 下尺性期人手节分的病离急法整复后,自带项处做哪理:还应。 并放下肢射至,优于现右肢放扭伤右下臀及后…

虚拟机测试必备虚拟机之VirtualBox 使用

2019独角兽企业重金招聘Python工程师标准>>> 安装,windowns在官网上对应版本下载下一步安装结束即可,配置有seting可以选择中文,方便理解,其实英文也好功能 不多。 安装linux:ubuntu,如果有网su…

基于.NET Framework 4.0的解决方案部署

VS 2010发布之后,随着而来的框架版本也升级到了.NET Framework 4.0。我相信很多朋友已经在用了吧。这一篇文章总结了如何基于.NET Framework 4.0,进行解决方案部署。 之所以要单独写一下,是因为确实这个版本与之前的.NET Framework 2.0&#…

如何在Windows Azure VM上的SQL Server和Windows Azure SQL Database两者中做出选择

作者信息:本篇文章是由SQL Server Cloud Infrastructure Team的 Madhan Arumugam 和 Guy Bowerman共同著作。 简介 把SQL 数据托管在哪里,Windows Azure 为您提供了两个选择,VM上的SQL Server(以下简称 SQL/VM)和 Wind…

graphviz 画决策树_数据挖掘入门系列教程(四)之基于scikit-lean决策树处理Iris

数据挖掘入门系列教程(四)之基于scikit-lean决策树处理Iris加载数据集数据特征训练随机森林调参工程师结尾数据挖掘入门系列教程(四)之基于scikit-lean决策树处理Iris在上一篇博客,我们介绍了决策树的一些知识。如果对…

设计模式UML图

1.简单工厂模式 2.工厂模式 工厂模式与简单工厂模式的不同在于,每个操作类都有自己的工厂,而且把逻辑判断交给了客户端,而简单工厂的逻辑判断在工厂类里边,当增加新的操作类时,简单工厂需要修改工厂类,而工…

Android小項目之--ListView與ListAcitivity完善論壇管理效果2(附源碼)

ListAcitivity 类型布局用来配置应用程序,主要为显示菜单列表、列表明细项目,假如让程序继承 ListActivity ,可以实现以下的方法: getListAdapter()  取得目前列表项目的 AdaptergetListView()  取得目前列表的 ViewgetSelectedItemId() …

docker 覆盖 entrypoint_最佳实践,Dockerfile中ENTRYPOINT与CMD指令的区别与建议

通过本文你会获得什么熟悉Dockerfile中ENTRYPOINT和CMD指令之间的区别,以及在实际项目中的使用建议。1 - 开始前准备首先你要有个docker环境,以下实验基于:docker 18.09,以及alpine:3.8镜像。下载基础镜像docker pull alpine:3.82…

单实例单向rac搭建gg流

1、 m1 m2 m3 source端 2、 在m1 m2 m3 上 /etc/hosts 172.16.10.140 source source上 添加 #public network 172.16.15.101 m1 172.16.15.102 m2 172.16.15.103 m3 #private network 10.11.11.1 m1-pri 10.11.11.2 m2-pri 10.11.11.3 m3-pri 29 #VIP network 172.16.15.1…

python自动登录教程_Python 实现自动登录+点击+滑动验证功能

需要用到的库有selenium,还需要安装Chrome浏览器驱动,具体如何安装我就不详述了 在这里我模拟了csdn的登录过程 ** 1**.首先打开网页,用户名密码登录,然后定位用户名输入框,和密码输入框,输入后 点击登陆 弹…

2月份.xyz域名总量10强:西数称王 注册量破百万

IDC评述网(idcps.com)02月25日报道:根据ntldstats.com发布的最新数据显示,截止至2016年2月24日17时,国内外.xyz域名总量十强名单顺序,与上期1月28日对比,无任何变化。最值得一提的是&#xff0c…

flash作业_一起作业,你很智障!

电子作业现在貌似很流行,在很多学校都有,具体的利弊就不再赘述,可以点击前面的超链接跳转到某度百科自己看。今天只是忍不住怕盘点下国内知名电子作业平台——一起作业网的一些智障设计。。。本来想写到这里去的:有哪些让人拍案叫…

QtCreator添加图片资源

在qt creator里面,设计师designer是一个很好用的功能,通过它我们可以可视化的设计界面。当然了,设计界面就需要各种各样的效果,图片资源是不可少的。今天,小编就来教大家qt怎么添加图片资源 工具/原料 qt creator方法/…

只安装python_AI帮你写Python,安装只需5步,还能任你调教 | 开源

一行一行地敲代码就像是徒手搬砖,聪明的程序猿们表示:我们要解放生产力! 比如像这样:在机器学习的时代,AI智能补全代码早已不是梦想,各种IDE和插件都在努力帮助程序猿减少击键次数,延长键盘寿命…

巧用apply让javascript函数仅执行一次

RT,有时候我们只想要让某些脚步函数执行一次就算完成任务了。如何实现这种功能呢?简单模仿下面这段就可以轻松搞定了: 代码 varobj newObject();obj.triggerOnce function(fn) { //控制让函数只触发一次returnfunction() { try{ fn.ap…

评论时间戳格式化

如图: 注意,评论时间戳的格式,刚才,几小时之前,几天之前..... 实现需要一个时间格式的工具类,如果用java.util.Date当然也可以实现,这里说的是更方便的joda-time。 maven地址:http:/…

android lint工作机制,Android架构

MVCmvc model view controller 模式视图控制器M: 业务逻辑处理V:处理数据显示的部分C:Activity处理用户交互的问题,中间桥梁的作用,解耦的作用。特点:耦合性低扩展性好,利于维护模块职责划分明确Model层&am…

opendds开发指南中文版_最强的开发者技术路线图已经更新到 2020 GitHub 超 118k还有中文...

想必大家都知道,学习路线图是学习一门新技术的入门指南,让我们对技术有一个大概的了解,并且在学习感到困惑时被指导。所谓不求最好,但求最全。今天在在就给大家带来了一个国外大牛开源的项目 — 「developer-roadmap」&#xff0c…

iOS APP网络分析之rvictl(可以捕捉除了Wifi以外的网络类型)

iOS应用(包括移动应用)的网络分析,一般采用将移动设备上的流量导入到PC机上,利用PC上成熟的数据包分析工具例如wireshark等来进行分析的方法。 总的来说,有以下三种方法:一、在PC上设置网络共享&#xff0c…

oracle批量update数据_东方国信大数据面试真题

东方国信学长1Hadoop工程师笔试题(金融事业部)1)技术基础题(共十题,每题5分)(1)列举在Linux系统下可以在看系统各项性能的工具(区分CPU、内存、硬盘、网络等)…