2009-08-16 27 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