2009-08-16 28 views

回答

2

“执行上下文类”只是一个持有者类,由程序的顶层创建,该类持有可能需要的所有内容(如链接示例中的Transaction对象)。

这是避免全局变量的打包方式。

有些人认为即使是这种情况也是如此,因为如果顶级调用A调用B调用C调用D需要顶级,则必须将上下文传递给A,B和C,不需要它。

因此,它促进了不需要它的绑定 - 在不使用此上下文的程序中,A,B和C不可重用。但这是一个完全可行的替代隐藏的全球状态,以及单身人士和其他杂乱无章的事物的无穷扩散。

编辑:此段落无效: 我建议您使用javax.resource.spi.work( http://www.j2ee.me/j2ee/1.4/docs/api/javax/resource/spi/work/ExecutionContext.html)中的ExecutionContext类,因为至少会将介入类的绑定限制为标准,而不是一些特定应用程序。

+0

有关如何使用javax.resource.spi.work.ExecutionContext的任何示例? – cometta 2009-08-16 17:08:41

+0

呃,我在这里很尴尬。基于对javadoc的太快阅读,我匆忙地提出了建议。它,呃,不符合你的需求。我要编辑我的答案来反映这一点。 – CPerkins 2009-08-16 17:36:04