キャラクターのテクスチャからはじまり、画面上の文字のテクスチャプール、部屋のメッシュ、一般エフェクト用メッシュ、サウンドバッファの管理等、

  • アロケートするのにに少し手間がかかるものを
  • なんらかのキーによってレジストリにアクセスし、中身を複数の場所で共有する
  • レジストリになかったら自動的にアロケートされて、レジストリにあったことにされる
  • 少しの間保持しておいて、時間の経過とか、サイズのオーバーで古いものから消していく

みたいな処理をすることが多い。上記の特徴を共有できないかとおもって一クラスつくってみたんだが、適用する段になってあまりにそれぞれの実装での扱いが特徴的すぎることに気が付いた。
コンテナが違うとか、アイテムへのTouchの仕方がえらい最適化されてるとか、リファレンスカウント式だったり、空いてる場所をきちんと見つけてくる必要がアロケート時に必要だったり、結局なんのコード量の削減にもならないし、こんなんを共通であると見せてみたところで実に意味がないんで結局変えるのはあきらめた。実際にコード上では共有されないが同じような構造に落として存在は意識しておく、俺様脳内パターンということにしておこう。