最適化されたITを目指して

オブジェクト指向が目指している方向とは?

  • インタフェースの抽象化、メッセージングによって成り立つシステム
  • ネットワークの世界は規格がきちんと決まってるので混乱はすくなさそう
  • でもソフトウェアの世界では色んな会社の製品が混沌としている
  • OSのレベルでも、ミドルウェアのレベルでも、プログラミング言語のレベルでも超えられない壁がある
    • WebAPIを使えばかなり頑張れるけど

メッセージを送る、という行為について

  • オブジェクトは他のオブジェクトとのインタフェースとしてメッセージをやり取りする
  • 送る側のオブジェクトは自分で手に負いきれない仕事を他オブジェクトに任せるためにメッセージを送る
  • 受け側のオブジェクトは自分で処理できるかはわからないけれど、送られたらとりあえず受け入れる
    • 無視する場合もあるだろうし、具体的な処理をするかもしれない(それはやってみなきゃわからない)

それは即ち、シンプルで汎用的な(そして結果として頑強になる)インタフェースを作ることにつながる

  • Linux/UNIX環境でコマンドをパイプで繋ぐことができるのは、それぞれのコマンドが標準入力をインプットにして標準出力をアウトプットにしているから
    • プログラム内部ではFile型の抽象化されたストリームを使えばよい
  • Windowsとか何かのデスクトップでテキストファイルをダブルクリックすればメモ帳が起動する、画像ファイルをダブルクリックすればmspaintかプレビューが起動される、ユーザーが知る必要があるのはダブルクリックという操作だけ

まとめ

    • ソフトウェアはメッセージを送受信できる概念を広く受け入れるべきじゃない?