«前の日記(2008-07-05 [土]) 最新 次の日記(2008-08-01 [金])» 編集
RSS: href="http://endoh-namazu.tierra.ne.jp/diary/index.rdf"


半期 四半期 全カテゴリ

新・なまず日記


2008-07-23 [水]

_ [デスクトップ][カスタマイズ][xfumble] xfumble - コーディング入りました。



今回は、UMLをちゃんと勉強して、きちんとモジュール設計をしようと思ってたんだけど、途中で面倒くさくなって、やっぱり脳内でやっちゃいました。まぁ、お一人様開発だし、そんなに規模が大きいわけでもないし...

Windowsを使っていたころに大好きだった音楽再生ソフトに"foobar2000"というのがあって、こいつは、有名な音楽再生ソフト"Winamp"の機能拡張用プラグインを開発していた人が「あぁ!Winampなんかじゃ十分なプラグインが作れない」と叫んで自分で一から作ったアプリで、コンセプトは「すべてがプラグイン」なんでもかんでもプラグインで機能拡張できるようになってて、ここまでやるとはスゴすぎる、と感心してたんだよな。

ほんで、xfumbleも、自由な機能拡張ができるように、「すべてがアドオン」というつもりで設計しましたです。機能拡張に必要なことは、各モジュールが、「不必要なことは知らない」ってこと。知ってしまったら、そこに依存関係ができてしまい、機能拡張のボトルネックとなる。

だから、オブジェクト指向で設計するのは非常に重要になるわけです。だからといって、別に、オブジェクト指向開発のためにはオブジェクト指向言語でないといけないというわけではないけれど(例えばCだって十分にオブジェクト指向開発はできるよ)、その手の言語を使うと、楽にシンプルに書けるってのは、あるよね。

今回はrubyを使うと決めてたので(別にスクリプト言語ならなんでもよかったんだけど)、rubyのオブジェクト指向的なところを十分に使おうと、いろいろ勉強したです。実は、rubyを使うのは今回が始めてなんだよ。でも、10年も前から知ってたみたいにしっくりくるなぁ。気持ちが良くて楽しいよrubyは。それで、コードブロック、いわゆるクロージャって奴を多用することにしてる。これを使うと、ホントに、「知らずにすむ」んだよな。いいねぇクロージャ。
[]