モジュール分割

機能をモジュールとして切り分けることは大事だってことに今更気がつく。

1つのアプリケーションについつい多くの機能を求めてしまう。

ポッドキャスティングが取り上げられるのを見て、「RSSリーダー+ウェブブラウザ+メディアプレーヤー」が欲しくなった。
RSSを使い始めた頃も、「RSSリーダー+ウェブブラウザ」を欲しがっていた。
悪い癖で、最初からすべてが用意された状態のものが欲しくなる。
よく考えると、別に最初から用意されている必要はない。
対応は早い方がいいが、後から機能追加(拡張)によって実現されても問題はない。

欲しい機能がすぐに手に入る様にするには、どんなアプリケーションである必要があるのか。
拡張を受け入れる構造(フレームワーク?)で、かつ情報が公開されている」ことが重要な気がする。
(情報を公開ってのは、まあ完全な外部公開じゃなくても、社内(チーム)で明確になっているとか)
機能を単独の「もの」として扱うことが前提になっていれば、拡張が簡単になる。
情報が公開(共有)されていれば、開発への参入が簡単になる。
結果、スピーディな機能追加やサポートが可能になる。
ただ、オープンソース(情報公開)でないと、あまりスピードは期待できない気もする。
技術力も体制も相当なはずなのにIEの発展はドン亀な印象しかない。

こう考えると、FireFoxはそういった面でも多くに受け入れられたのかなと思う。
どうもFireFoxは対IEという印象が強く、その点については深く考えていなかった。
実際、豊富な機能が嬉しくて使っているわけだが、豊富である理由はこれな気がする。

アプリケーションを開発する上では常識なんだと思うけど、なんというか自分で気がつけたことがちょっと嬉しい。
同時に自分の稚拙さにへこんでみたりもするけど、気がつけた訳だし思考のレベルアップと素直に喜びたい。

さて、気がついたことを実行していくためにはどうしたらいいのだろうか。
とりあえずはオブジェクト指向を身につけることかな。
どうにも、処理の分割がうまくできていない。
「オブジェクト指向」だからという訳ではないが、せっかくのクラス(モジュール)単位が内部で台無しになっている。
奇麗に分割できれば、修正とか機能追加とかのスピードがかなり上がると思う。
プラグインとかの拡張を受け入れることを前提としたフレームワークの設計もできる様にならないと。

結局、設計がへたくそなんだと思う。
オープンソースソフトウェアとかのソースから勉強するのがいいのかな。

なんだか見出しと中身がずれてきた気がする。
こういうところも、設計がへたくそだってことなんだろうな。
いっそ作文から練習するといいのかもしれない。
せっかくだし、ブログだけじゃなくてwikiも使い始めようか。

プロフィール

このブログ記事について

このページは、koshigoeが2005年7月 8日 22:35に書いたブログ記事です。

ひとつ前のブログ記事は「Podcasting Juice」です。

次のブログ記事は「PerlでHTML::TagCloud」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。