Namazu-devel-ja(旧)


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Namazu 3.0 design



Namazu 3.0 の設計をしています。作成中のクラス図を
<http://cl.aist-nara.ac.jp/~satoru-t/tmp/namazu-design.png>
<http://cl.aist-nara.ac.jp/~satoru-t/tmp/namazu-design.dia>
に置きました。reviewしてもらえると助かります。

図の右上に、libnmzの使い方を疑似コードで書きました。

設計方針は次の通りです。

 * 保守が簡単
 * 拡張が簡単
 * 簡単に使えるライブラリ
 * 完全にカスタマイズできる
   - テーマの機構を導入 (検索結果の表示)
 * 動的に拡張できる
   - GModule
   - Guile拡張言語
 * 使うのが楽しい
 * プログラムするのが楽しい

mknmz と namazu の部品を共通化することを考えましたが、
indexer と searcher は実は共通性がほどんどない別物ではないか、
という気がしてきました。インデックスのデータ構造は共通だけど、
アクセスの仕方はまったく異なるし。

設計は難しいなあ。

-- Satoru Takabayashi