Ads by Google
[--/--/-- (--)]
Mapで追加情報を管理…うーん。
[2009/02/26 (木)]
あるフレームワークが文脈情報をあっちからこっち、こっちからあっちと運んでいる時、自分の作ったデータも一緒に運んでもらいたい時がある。そう、無人島で遭難した時に、海流に乗って流す小瓶みたいなもん。たぶんフィリピン位で流すとだいたい黒潮に乗って日本にやって…くる…らしい…?
動的な型付けを持つ言語では、これは簡単で単に文脈情報にプロパティを追加すればいい。これで普段通り。なんだけど、Javaのような静的型付けを持つ言語は、Mapを使う事になる。ServletやJSFでのリクエスト属性やセッション属性がこれに当たる。で、何が嫌かと言えば、Mapにはいくつか不便な点があって、普段通りプロパティにアクセスするのと大きく違ってしまう。
- まず、Mapのキーが文字列の場合。そう、さっきのビンに「鈴木太郎です。遭難しました。」と書いても、一度に二人以上、鈴木太郎さんが遭難してたらば、もう一方の関係者は激怒するに決まってる。何故、社会保障番号を導入しないんだ!!と。…まぁJavaでは大概FQCNという、一意になる名前を使うけど、もしかすると何も食べてないせいで自分の名前すら間違うかもしれない。
- 次に、仮に全世界社会保障番号みたいなのを書いたタグを持っていたとして、それをさっきのビンに入れたとして今度は、「Oh!! 何て書いてますか?ワカリマセ〜ン!! Sorry!!」 「HaHaaa!!、ジョーン、島の地図があるじゃないか!それはその島の観光協会のCMさ〜!」 「Oh!! But!! ハワイ is No.1!だからイリマセーン!」って事になりかねない。
つまるところ、一意性のあるキーとその取り扱い(型)を示す情報が必要だと思うわけ。これがないとせっかく静的な型付け言語なのに、動的な型付け言語と同じように気をつけて情報を取り扱う事になる…。
追記の記事にバグ…詳しくは次の記事を[2009/3/1]…m(_ _)m
|ホーム|


