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
さて、キャッシュは定義上ステートフルです。しかしSpringキャッシュは、ある場所に状態を保持し、クラスタリングを適切に処理し、メソッドの代わりにクロージャを使う必要がないので、 'memoize()'よりGrails/Springに適しています。 – ataylor