社区
Java SE
帖子详情
有没有相关的代码生成器项目是关于解决代码重用的?
csdn_LJX
2019-05-03 06:34:41
数据模型自动生成Mybatis功能模块系统的设计与实现 ,有没有与这个类似的web项目?请大神们给点意见,主要的是解决代码重用的问题。
...全文
30
1
打赏
收藏
有没有相关的代码生成器项目是关于解决代码重用的?
数据模型自动生成Mybatis功能模块系统的设计与实现 ,有没有与这个类似的web项目?请大神们给点意见,主要的是解决代码重用的问题。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
1 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
csdn_LJX
2019-05-03
打赏
举报
回复
前端是输入表信息的,像字段名称,长度,数据库表之间的关系,这些写成mybatis映射文件,后端要生成mapper文件和pojo类以及对应的SQL文件,解决软件复用的问题。
代码
生成器
Mgicode生成器JAVA
代码
生成器
由《Ext JS源码分析与开发实例宝典》作者:彭仁夔团队开发而成 90%以上
代码
可以生成验证、生成三层
代码
、生成完善的权限系统、生成数据库等功能 功能之强大用了就知道! 两年前,我负责指导Java方向实训,在最后评审准备过程,.Net组负责人要求Java和.Net的归结一起统一评审,Java指导老师们的第一反应是Java和.Net开始怎么能相提并论? 为什么不能并论?是因为Java开发阳春白雪?在我们的潜意识中,Java开发就是让程序员(学生)一行一行地编写
代码
,编写HTML、CSS等,而.Net开发只要把控件拖到页面上即可,Java开发的效率一定比.Net低很多很多。 那么能不能提高Java的开发效率呢?作者经过分析并总结思考,发现业务系统有一定的共性所有操作,即增删改查,既然有共性,那么能不能抽象出来? 可以思考一下,通过继承、组件化等
重用
设计方式是可以抽象
代码
的共性,但是不同表(实体)增删改查的内容是不同的,通过泛型也很难抽象出来的。如对于A表的查询和对于B表的查询都需要使用到SQL语句,怎么去剥离出来? 此时,我们就需要采用另外一种方式,把它们抽象出来更高层级的模板,然后把不同数据传入该模板的占位符,这样就变成不同的
代码
,这种方式就是
代码
生成技术。 在软件的设计过程中,
代码
生成及
重用
设计仿若陌路人,互相排斥。
重用
设计中很多的共性是不能抽象出来的,而一味追求生成,造成大量的雷同
代码
,是
重用
设计人员或真正开发人员最不能容忍的事件。 如果把它们两个结合起来,那就是完全不同的效果,首先通过
重用
设计抽象其能抽象的
代码
,其不能抽象的共性通过生成技术生成,开发效率就会成倍增加。以前我们都是在X或y轴上分别进行,其最大的点也不过是线,如果两者结合起来,其变成一个平面,把我们的
重用
从点提高到面。如下图所示: 面。如下图所示, Y
重用
现在的软件开发不再仅仅是编写
代码
,
重用
等,而是需求调研、架构设计、数据库、编码开发、测试部署等过程的有机组合,组合的好与坏,其结果相差万里,这就是著名的米格-25效应。 在开发过程怎么去把这些最大效应化呢?回想一下我们的开发流程: 需求开发,形成文档 采用powerDesigner等进行实体及实体关系的设计 通过Pdm创建数据库 在开发工具中创建搭建
项目
通过
相关
的工具(hibernate tools,myeclipse)生成实体 设计及编写Dao 设计及编写Service 设计及编写Action及
相关
页面 这样的线性流程有着极大的问题,首先架构师或数据库专家不是圣人,设计数据库,Dao,Service接口之后,就不需要修改,在编码过程中,会进行大量的修改,特别是那种那只懂数据库的专家在设计之后,开发人员怨声载道。另外设计的dao,service接口及实现很多都用不着,用得着的根本就没有设计。因为需要的dao,service很多都是由页面根据取数操作的不同而进行不同的编写。 开发过程的修改,就会带来原前置流程步骤的修改,所以软件开发完成之后,不会有很多公司其PDM与数据库、实体是一一对应的。而有一些是必须要修改,如在实体中修改属性,一定要到数据库中修改,到dao,service,action,page一一进行修改,如果修改的是外键属性,修改的
代码
更为复杂。开发人员最痛苦的事情就无穷无尽的修改,领导简单的一句话:不就修改一个属性吗?你可能就要改一个下午。 能不能有这样的方法呢?修改一处其它处跟着改,这时就需要把原来的线性流程乾变换,改成为无前置的试,即卫星城的方式,中心城就是模型,可以称为Domain、域、实体,在实体的基础是加上一些设计,如下图所示: 现在只要中间模型发生变化,其变化会通过其背后的关系推向卫星城,让其发生相对应的变化,就像蝴蝶效应一样。 此时,我们可以站在一个更高的层面去思考开发,开发不仅仅是
代码
,开发不仅仅是处理
代码
之间关系,还需要处理与数据存储的关系,与测试部署关系等。 这些关系我们需不需要去体现出来,肯定需要。我们可以把这些关系看作是软件中区别于业务逻辑属性的特殊属性,这种属性主要包括: 与数据存储之间的关系
代码
结构组织的方面(如采用三层) 与设计及设计文档的关系 与开发模型(如瀑布)的关系 与需求及需求变更的关系 与测试部署之间的关系 除了这些特殊关系,
代码
中还有实体之间的关系,业务关系等。 我们可以发现软件不单纯是一个对象,而且是一组关系。它们相互关联,相互牵制。 续而推之,我们编写的类也是关系,是处理一类事物的抽象关系。泛型是处理类的抽象关系。所有东西都是关系体。 那么能不能在现有的面向对象的理论上推进一步呢?世界不是一个个单独的对象,而是不同的对象相互发生关系的有机结构体(可以称为关系体),只有这样,世界才多姿多彩。就算是一个个对象,它也不是静止的,它的内部也是由不同分子原子发生作用的结果,可以讲对象也是一个关系体。 软件是用来对世界进行描述的一种方式,最初我们采用过程的编程,后来与世界的描述不相符,所以就出现了面向对象,而现在面向对象并不能很好地解析如抽象类,Service类等。要解释这些东西,最好的方式是通过关系来表达。也就是面向对象的编程方式可以更进一步地改进为面向关系编程方式。 面向关系编程需要首先需要找到软件模型与需求、架构,数据,测试,部署之间的变化关系。这些关系有业务层面的,也有开发层面的。这种关系可以抽离出来,形成模板。 接下来把业务模型+关系模板通过工具生产出来,就成为一个有血有肉的软件。Mgicode(码奇)生成器就从这里出发,帮我们抽象软件背后的关系,提高开发效率。 所以通过Mgicode生成器,你可以获得如下好处: 根据设计(pdm,数据库等)快速生成可运行的
项目
。 修改实体之后,会帮助你找到所有需要修改的东西,并且给出最佳的修改方案。 统一
代码
编程风格(如同一
项目
中选择几种不同日历控制) 把自己的
项目
模板化(关系化),方便之后使用 把模板化的
项目
放到Mgicode市场获得一些外快。
c#二维码生成
ASP.NET 二维码生成源码,Web界面,输入需要转换的文字或字符串,生成对应的二维码。
代码
精简,函数封装,便于复用。
精通JAVA——JDK(高清PDF文件)
一部很好的JAVA教程,Java开发者的福音,特与大家分享,不设资源分,祝大家学得愉快!
C# .NET Core 源
代码
生成器
(dotnet source generators)
本文介绍了.NET中的增量源生成器(IncrementalGenerator)及其应用。源生成器允许开发者在编译时分析用户
代码
并动态生成附加
代码
,从而减少样板
代码
并优化性能。文章详细阐述了如何创建包含三个
项目
的
解决
方案(源生成器库、共享库和Web API
项目
),配置
项目
文件,以及实现一个简单的计算器类方法生成器。通过实例展示了如何处理错误日志记录、命名空间解析等问题,并最终验证生成的
代码
能正确执行。源生成器适用于
代码
生成但不适合修改现有
代码
或添加语言功能,是提升开发效率的有力工具。
Jirisoft.CodeBuilder C#
代码
生成器
源码解析
本文还有配套的精品资源,点击获取 简介:本文将解析Jirisoft.CodeBuilder这一C#
代码
生成器
的源码,介绍其如何通过解析器、模板引擎、
代码
生成器
、输出处理器等关键组件,自动生成符合特定规则或模板的
代码
。源码中包含的详细注释将有助于理解
代码
生成原理和提高C#编程实践能力。学习Jirisoft.CodeBuilder的实现不仅有助于掌握
代码
生成原理,还能指导如何编...
Java SE
62,628
社区成员
307,259
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章