Tapestry mixin究竟是如何运作的?

时间:2013-07-10 07:26:30

标签: java tapestry

我在阅读this article之后才意识到,我无法向自己解释它是如何运作的,以及它可以解决的问题。

是的,它可以用于更改现有组件的行为。但它是如何限制的?我能做什么,不能做什么?它比继承更好吗?

This article很有帮助,但我仍然感到困惑。

任何人解释 Tapestry mixin 可以使用简单的话吗?

1 个答案:

答案 0 :(得分:7)

Tapestry Mixin是一个有限的组件版本,应该附加到另一个组件,不能有自己的模板。它可以访问容器参数,并可以自己引入。它并不比继承更好。这是改变组件行为的另一种方式。

那么,你可以用无法通过继承完成的mixin做什么:

  • 您可以更改核心挂毯组件的行为
  • 您可以为一个组件使用多个mixin

关于mixinns的其他一些话:

  • 它们通常会引入一些可应用于所有组件的通用逻辑,例如:在某些客户端事件上提交表单或在某些字段的帮助下附加弹出窗口
  • 他们可以解决核心组件的一些问题,例如我们有mixin修复上传组件,当它以ajax形式使用时