2011年12月5日月曜日

疎結合の素晴らしさに思いを馳せる(Androidとか伝統的なUNIXコマンドとか)

疎結合(loose coupling)
コンピュータの世界では、いろんなところで疎結合という概念が用いられてますね。
一般的には、疎結合な方がいいということのほうが多いような気もします。
自分が、注目したいのは疎を結合しているシステム(手法)の方ですね。独立性が高いのにも関わらず、上手に結合してやることでいろんなことをうまくやっているのが美しいと思います。


UNIX系コマンドのパイプ
あと、ストリームとかディスクリプタとか標準入出力ですね。(どれも同じようなもんw)
catやtailなどの超単純にファイルを開くコマンドからsedのようにエディタ(?)のような高機能なものまで様々です。基本的には、trやsortみたくある機能しか持っていない超シンプルなアプリです。

しかし、これらをパイプでつないでいくとワクワクして来ちゃうほどにいろんなことができちゃいます。
(もっとも、ハウツーを知らないと中々良さに気付けないという欠点もありますが)

Androidのインテント
これも、そんなノリですね。
フォーマットに基づいて引き受けられるアプリをOSが知っておくというカラクリです。やっぱり、シンプルで強力な概念です。ギャラリーで写真を開き、画像を引き受けられるアプリに渡します。例えば、メールソフトに渡せば、添付ファイルに。Twitterクライアントに渡せば、写真付きでといった感じです。素晴らしいですね。

というわけで、疎結合万歳\(^o^)/

0 件のコメント:

コメントを投稿