Groovy 使用 bean 工作

在 java 世界完全采用 JavaBean 概念已经是一个通用编程风格,就是通过访问方法来限 制对属性的直接访问(在访问方法中要避免复杂费时的操作),这些访问方法由 groovy 自动 生成,如果你有复杂的、额外的逻辑关联到属性,你总是可以覆盖相关的 getter 或者 setter,
但是你最好是写一个单独的业务逻辑方法来处理你的高级逻辑。

访问方法

即使类没有完全符合 JavaBean 标准,你通常可以假设有访问方法可以调用,这些方法没有大的性能损失或者别的副作用。一个访问方法的规格几乎就像直接的属性访问(不打断 一致访问原则)。

Groovy 根据表 7.2 显示的方法调用隐射,在语言级别支持这种风格。

不管是一个 groovy 对象还是 POJO 对象,都可以使用这个隐射进行工作,并且这个 bean 工作也适合于其他类,列表 7.19 显示了 Bean 风格和派生属性的组合。

注意在(2)和(3 )是 groovy 风格的属性访问,看起来就像直接的属性访问。

而在(1)解释了没有属性,但是有些派生值,从调用者角度看,这样的访问时真正一致的。

由于属性访问和访问方法快捷方式有相同的语法,你可以选择喜欢的规则进行处理。

规则:当属性和相应的访问方法对调用者都是可用的时候,属性引用被解析为对访问方法的调用,如果只存在一种可用,这是可选的。

看起来简单易懂,并且有许多例子,不管怎样,还是有些需要考虑的地方,正如在下节你将看到的那样。