1
用於記憶無副作用且僅查找的服務方法的語法是什麼?這個備忘錄會不會在會話中持續存在,還是會在網絡世界中毫無用處?有沒有在grails應用程序中使用.memoize()的好地方的例子?Grails:使用.memoize()的例子?
class DetermineStuffService{
def figureThisOut(def whatever){
//look up all sorts of stuff and do some heavy side-effect free processing
return nastyHashmap
}
}
因此,在一個控制器可不知何故,我打電話DetermineStuffService.figureThisOut(someRandomObject)
和採取的.memoize()
優勢?
我打算接受這個答案。要清楚:我們同意.memoize()在正常的web應用程序中沒有意義,因爲它違背了無狀態的原則,是正確的? – Mikey 2012-03-16 21:55:11
那麼,緩存是有狀態的定義。然而,Spring緩存的方式比'memoize()'更適合grails/spring,因爲它將狀態保存在一個地方,正確處理集羣,並且不需要使用閉包而不是方法。 – ataylor 2012-03-16 22:01:05