# 在 groovy 进行元程序编程

**URL:** <https://www.isharkfly.com/t/groovy/1946>\
**Category:** 程序语言\
**Created:** [December 15, 2012, 2:15am UTC](https://www.isharkfly.com/t/groovy/1946 "2012-12-15T02:15:40Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![honeymoose](https://www.isharkfly.com/user_avatar/www.isharkfly.com/honeymoose/32/20796_2.png) [@honeymoose](https://www.isharkfly.com/u/honeymoose)\
**Post date:** [December 15, 2012, 2:15am UTC](https://www.isharkfly.com/t/groovy/1946/1 "2012-12-15T02:15:40Z")

</div>

为了完全了解 groovy 的作用，了解 groovy 的内部是如何工作是有好处的，知道所有的细节不是必须的，但是熟悉大体上的概念将让你在使用 groovy 的工作中更自信和找到更多的优雅的解决方案。

这将让你了解到 groovy 执行的魔法，目的是解释一下一般性概念的用法，这样你能写 与 groovy 内部运行工作的集成解决方案，groovy 有许多拦截点，并且你可以选择性的覆盖 groovy 内建的行为能力，这样为你在写强大而优雅的解决方案的时候提供了许多选择，我们将描述这些拦截点，并且提供一些在实践中会用到的例子。

在这节描述的能力都是 groovy 的元对象协议 MOP（Meta-Object-Protocol）的组成部分，MOP 是在运行时改变对象和类行为的系统能力。

在写这本书的时候，MOP 的重新设计正在进行中并且这叫做 new MOP，new MOP 主要关注的是内部实现的一致性和运行时的性能问题，我们高度关注程序员期望的地方。
