Groovy 的应用场景


Author : Gavin

Groovy简介

Groovy是一种基于Java平台的动态类型编程语言,目前是Apache旗下项目。

Groovy的特点

Groovy的应用场景

java语言的设计不适合定制作为领域特定语言,而Groovy在这方面却非常强大,所以首先Groovy适合设计领域特定语言;

其次,当系统设计过程中,涉及到流程引擎设计的,因为Groovy可以作为脚本语言使用,所以非常适合用它作为脚本引擎配合整体的系统设计,加强系统灵活性,应对一些定制化场景。

较适合作为辅助java的动态类型语言,因为Groovy语言设计的简洁性和灵活性,以及对于字面量处理的强大能力,可以将一小部分适合Groovy开发的工作交与Groovy开发,又因为动态语言的灵活性,大部分基础或核心代码依然需要使用Java开发,另外Groovy和java的兼容性很好。

不适用场景

Groovy是动态类型语言,关于动态类型语言是否可以作为大型项目的后台开发语言一直存在争议,不过这里说一下个人的观点,适合与否还是取决于项目的定位,和项目本身的难易度,以及更为重要的开发人员素质的高低,人员多少,如果项目难度大,人员素质高,参与协同人员少则适合使用动态语言解决,反之,类似Groovy这样的动态类型语言就需要谨慎作为大型项目的主要开发语言,而是应该使用静态类型语言作为开发大型项目的语言。

如果以前没有接触过动态语言的同学可以看看这个demo:

当运行时随机条件进入"字符串/2"的时候,出现异常: image

当运行时随机条件进入"1/2"的时候,结果(可以理解为预期)为0.5: image

在实际开发过程中的有一些场景,利用动态类型语言做的事情要比demo复杂的多,Groovy语言有强大元编程能力可以解决难度比较大,用java给不出合理方案的问题,并且开发出扩展性很强的程序。但是缺点显而易见,这种情况不易调试,并且不易团队协作。