0
我的語言的驗證程序MyDslJavaValidator
包含@Check
,它需要來自樹頂部的一些上下文信息。通過從給定元素開始遍歷模型,我可以在檢查方法本身收集這些信息。但是,由於上下文信息不依賴於當前元素,所以這是相當低效的。MyDslJavaValidator中驗證之間的共享狀態
是否有一種方法只計算一次狀態並在所有驗證中都可用?我當然可以將狀態緩存在成員變量中,但由於我不確定驗證器對象的生命週期是什麼,我不知道這是否安全。顯然,當底層模型發生變化時,必須重新計算信息。
在這種情況下最好的模式是什麼?