diff options
| author | fukachan <fukachan> | 2003-05-25 16:10:06 +0000 |
|---|---|---|
| committer | fukachan <fukachan> | 2003-05-25 16:10:06 +0000 |
| commit | fdec58e32c02968fea088ac8a5ce0b96b3a34f5c (patch) | |
| tree | 82b610c4887ac22d59ad2df6cb728e636721b894 | |
| parent | 61aa8c27343f7b44da4ff74b4b30d1166bf938a7 (diff) | |
| download | fml8-fdec58e32c02968fea088ac8a5ce0b96b3a34f5c.tar.gz fml8-fdec58e32c02968fea088ac8a5ce0b96b3a34f5c.tar.bz2 fml8-fdec58e32c02968fea088ac8a5ce0b96b3a34f5c.zip | |
hmm, considerations on IO adapter layer for userlist and data cache
| -rw-r--r-- | regress/simulation/00_MEMO | 44 |
1 files changed, 43 insertions, 1 deletions
diff --git a/regress/simulation/00_MEMO b/regress/simulation/00_MEMO index 13f74f29..85b37048 100644 --- a/regress/simulation/00_MEMO +++ b/regress/simulation/00_MEMO @@ -213,6 +213,48 @@ FileHandle と IO::File 両方 use しちゃうからか? } +[TODO] IO インターフェイスの問題 + + (1) fml8 全体の基調となる型は IO::Adapter であろう。このクラスは + + KEY => VALUE + もしくは + KEY => [ VALUE, VALUE2, VALUE3 ] + + のいづれかの型のデータ構造を抽象化している。 + ここで、基本となるメソッドは + + open() + close() + add(KEY, クラス依存のデータ渡し) + delete(KEY) + find(KEY) + + である。 + + Q: KEY 一覧を取り寄せたい場合は? + + A1: 定石は全部読んでみる == get_next_key() をしまくる;) + 1) 滅多にそんなコードは必要でない:-) + よって、専用メソッドがなくても問題がない + 2) 問題は一行で書けないことやね;) + + A2: メソッドがあるとよい???名前は?やっぱり keys() ? + ARRAY_REF で返すのかな? + でも、ほとんど使われないんですけど… + + (2) HASH_REF を返すインターフェイスはどうよ? + + KEY => { + ATTR1 => VALUE1, + ATTR2 => VALUE2, + } + + キャッシュを抽象化したアダプタ層はこの形になりうる。 + 例: + FML::Error -> FML::Error::Cache -> Tie::JournaledDir + + [TODO] IO::Adapter get_*() には File or !File にだけしかないのがある? @@ -359,4 +401,4 @@ FileHandle と IO::File 両方 use しちゃうからか? ---------- -$FML: 00_MEMO,v 1.80 2003/05/14 12:17:09 fukachan Exp $ +$FML: 00_MEMO,v 1.81 2003/05/15 03:27:23 fukachan Exp $ |
