LoginSignup
3
3

More than 5 years have passed since last update.

Javaでメモしたい

Last updated at Posted at 2013-04-15
memo1.java
HogeService hogeService = new HogeService();
MemoizeService memo = new MemoizeService();

public void hoge(Integer hogeId) {
  // HogeService.getHoge を呼ぶ
  Hoge hoge = memo.wrap(hogeService).getHoge(hogeId);

  //...

  fuga(hogeId);
}
public void fuga(Integer hogeId) {
  // HogeService.getHoge を呼ばずに先の値を返す
  Hoge hoge = memo.wrap(hogeService).getHoge(hogeId);

  //...
}

こういうことをしたい。

memo2.java
MemoizeService memo = new MemoizeService();
HogeService hogeService = memo(new HogeService());

とかするのは嫌だ。

なんかできそうな気もする。なんか既にそういういい感じのないかな。

キャッシュ寿命

memo3.java
  Hoge hoge = memo.requestScope(hogeService).getHoge(hogeId);
  Hoge hoge2 = memo.eternal(hogeService).getHoge(hogeId);

こんな感じでウェブアプリケーション内で使っている時に同一リクエスト間だけ有効なキャッシュになるとか、ずっと保持しておくとか適当に制御できると嬉しい。
まあどちらかというと後者はどうとでもなるので、前者の同一リクエスト間だけ有効なキャッシュとかやりたい。

3
3
3

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3