理论教育 软件架构与代码自动化工具:实战经典

软件架构与代码自动化工具:实战经典

时间:2023-10-30 理论教育 版权反馈
【摘要】:一款良好的软件架构一定会有与之配套的代码自动化生成工具,这样才是优秀的架构,才是真正的软件开发的利器。自动化工具分类根据用途,一般分为两种:一种是针对个别项目设计的一次性的工具,另外一种就是商品化的自动化代码生成工具产品。根据经典的SpringMVC架构,图8-15给出了软件架构与代码自动化工具的关系。

软件架构与代码自动化工具:实战经典

一款良好的软件架构一定会有与之配套的代码自动化生成工具,这样才是优秀的架构,才是真正的软件开发的利器。因此在进行软件架构设计时,就需要考虑到哪些部分代码可以进行自动化生成,哪些需要手动生成。

另外,是不是代码的自动化生成程度越高就越好呢?曾经有很多公司都尽可能地实现代码的全部自动化生成,或者图形化生成,结果都失败了,为什么?这里的原因很多,很重要的一点就是实际商业中的业务逻辑纷繁复杂,而计算机语言技术又有自身的局限性与技术难度,因此这种全自动化代码生成工具本身的思想就是走向了极端。即使有,使用起来也非常不方便,弊端会远远大于使用自动化带来的利益!

那么,应该如何设计自动化代码生成工具呢?这个思想还是源于中华文明,即中庸之道。这里讲的中庸,指的是最大程度发挥自动化工具的效能,即自动化工具不复杂,却很高效。因此设计一款配合框架,功能适中的半自动化代码生成工具,是架构师真正能力的体现。此时,以下4点是必须考虑的。

(1)设计模板

也就是用什么来作为代码生成的输入,目前来说,一般都是用Excel,因为这种表格化模板的可扩展性与灵活性都非常高,使用便利,学习简单。

(2)自动化程度

这个过程需要架构师分析,哪些代码可以全部自动生成,如单项目验证、配置文件等;哪些代码需要半自动化生成,如关联性验证、业务逻辑部分。

(3)用什么语言来开发(www.daowen.com)

现在比较流行的语言就是VBA,另外就是结合开发平台而开发的各种插件,比如基于Eclipse的插件。

(4)自动化工具分类

根据用途,一般分为两种:一种是针对个别项目设计的一次性的工具(一般用VBA开发,因为开发效率比较高),另外一种就是商品化的自动化代码生成工具产品。

根据经典的SpringMVC架构,图8-15给出了软件架构与代码自动化工具的关系。

978-7-111-59294-5-Chapter08-17.jpg

图8-15 软件架构与代码自动化工具关系

本架构体系中,控制层的EventController、EventForm,业务层的ModelDto及持久化层的EventRepository都实现代码的全部自动化生成,而显示层的JSP、相关验证的Validator及Service可半自动化生成,需要全部手写的代码就是与业务相关的SQL语句。这样,通过这种分层次的代码自动化生成设计,不但提高了开发效率,而且提高了代码品质。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈