代码生成器mgicode生成器java代码生成器

代码生成器mgicode生成器java代码生成器

ID:8820641

大小:31.50 KB

页数:4页

时间:2018-04-08

代码生成器mgicode生成器java代码生成器_第1页
代码生成器mgicode生成器java代码生成器_第2页
代码生成器mgicode生成器java代码生成器_第3页
代码生成器mgicode生成器java代码生成器_第4页
资源描述:

《代码生成器mgicode生成器java代码生成器》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、由《ExtJS源码分析与开发实例宝典》作者:彭仁夔团队开发而成90%以上代码可以生成验证、生成三层代码、生成完善的权限系统、生成数据库等功能功能之强大用了就知道!两年前,我负责指导Java方向实训,在最后评审准备过程,.Net组负责人要求Java和.Net的归结一起统一评审,Java指导老师们的第一反应是Java和.Net开始怎么能相提并论?为什么不能并论?是因为Java开发阳春白雪?在我们的潜意识中,Java开发就是让程序员(学生)一行一行地编写代码,编写HTML、CSS等,而.Net开发只要把控件拖到页面上即可,Java开发的效率一定比.Net低很多很多。那么能不能

2、提高Java的开发效率呢?作者经过分析并总结思考,发现业务系统有一定的共性所有操作,即增删改查,既然有共性,那么能不能抽象出来?可以思考一下,通过继承、组件化等重用设计方式是可以抽象代码的共性,但是不同表(实体)增删改查的内容是不同的,通过泛型也很难抽象出来的。如对于A表的查询和对于B表的查询都需要使用到SQL语句,怎么去剥离出来?此时,我们就需要采用另外一种方式,把它们抽象出来更高层级的模板,然后把不同数据传入该模板的占位符,这样就变成不同的代码,这种方式就是代码生成技术。在软件的设计过程中,代码生成及重用设计仿若陌路人,互相排斥。重用设计中很多的共性是不能抽象出来的

3、,而一味追求生成,造成大量的雷同代码,是重用设计人员或真正开发人员最不能容忍的事件。如果把它们两个结合起来,那就是完全不同的效果,首先通过重用设计抽象其能抽象的代码,其不能抽象的共性通过生成技术生成,开发效率就会成倍增加。以前我们都是在X或y轴上分别进行,其最大的点也不过是线,如果两者结合起来,其变成一个平面,把我们的重用从点提高到面。如下图所示:面。如下图所示,Y重用现在的软件开发不再仅仅是编写代码,重用等,而是需求调研、架构设计、数据库、编码开发、测试部署等过程的有机组合,组合的好与坏,其结果相差万里,这就是著名的米格-25效应。在开发过程怎么去把这些最大效应化呢?

4、回想一下我们的开发流程:需求开发,形成文档采用powerDesigner等进行实体及实体关系的设计通过Pdm创建数据库在开发工具中创建搭建项目通过相关的工具(hibernatetools,myeclipse)生成实体设计及编写Dao设计及编写Service设计及编写Action及相关页面这样的线性流程有着极大的问题,首先架构师或数据库专家不是圣人,设计数据库,Dao,Service接口之后,就不需要修改,在编码过程中,会进行大量的修改,特别是那种那只懂数据库的专家在设计之后,开发人员怨声载道。另外设计的dao,service接口及实现很多都用不着,用得着的根本就没有设计

5、。因为需要的dao,service很多都是由页面根据取数操作的不同而进行不同的编写。开发过程的修改,就会带来原前置流程步骤的修改,所以软件开发完成之后,不会有很多公司其PDM与数据库、实体是一一对应的。而有一些是必须要修改,如在实体中修改属性,一定要到数据库中修改,到dao,service,action,page一一进行修改,如果修改的是外键属性,修改的代码更为复杂。开发人员最痛苦的事情就无穷无尽的修改,领导简单的一句话:不就修改一个属性吗?你可能就要改一个下午。能不能有这样的方法呢?修改一处其它处跟着改,这时就需要把原来的线性流程乾变换,改成为无前置的试,即卫星城的方

6、式,中心城就是模型,可以称为Domain、域、实体,在实体的基础是加上一些设计,如下图所示:现在只要中间模型发生变化,其变化会通过其背后的关系推向卫星城,让其发生相对应的变化,就像蝴蝶效应一样。此时,我们可以站在一个更高的层面去思考开发,开发不仅仅是代码,开发不仅仅是处理代码之间关系,还需要处理与数据存储的关系,与测试部署关系等。这些关系我们需不需要去体现出来,肯定需要。我们可以把这些关系看作是软件中区别于业务逻辑属性的特殊属性,这种属性主要包括:与数据存储之间的关系代码结构组织的方面(如采用三层)与设计及设计文档的关系与开发模型(如瀑布)的关系与需求及需求变更的关系与

7、测试部署之间的关系除了这些特殊关系,代码中还有实体之间的关系,业务关系等。我们可以发现软件不单纯是一个对象,而且是一组关系。它们相互关联,相互牵制。续而推之,我们编写的类也是关系,是处理一类事物的抽象关系。泛型是处理类的抽象关系。所有东西都是关系体。那么能不能在现有的面向对象的理论上推进一步呢?世界不是一个个单独的对象,而是不同的对象相互发生关系的有机结构体(可以称为关系体),只有这样,世界才多姿多彩。就算是一个个对象,它也不是静止的,它的内部也是由不同分子原子发生作用的结果,可以讲对象也是一个关系体。软件是用来对世界进行描述的一种方式,

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。