« XPに惑わされるな | トップページ | 言語は思考を決定するのか? »

2004/08/20

オブジェクト指向プログラミングの本質は
「開放閉鎖原則」にあり

 羽生田栄一さんの「オブジェクト論」は、オブジェクト指向の長所が非常によくまとめられている。
 その中の一節で目を引くのが、「開放閉鎖原則」。
 ソフトウェア工学的に妥当なモジュールのデザイン原理に対するオブジェクト指向からの回答が「開放閉鎖原則」である、と主張し、

・ほとんどのデザイン・パターンはこの原則から導出できる。
・この原理は、オブジェクト指向では個々のデータやアルゴリズムよりもインタフェースが重要であると意味する。

という特徴を示している。

 「開放閉鎖原則」(The Open-Closed Principle) が説明されている本は、「プログラマのためのJava設計ベストプラクティス」しか見当たらない。僕の理解では、「モジュールは拡張に対して開いて (Open) おり,修正に対して閉じて (Closed) いなければならない」と認識している。
 この原則は元々、メイヤーが言い出したらしい。
 この原理は、オブジェクト指向だろうが構造化であろうが、どんなプログラムにも通用するが、オブジェクト指向でより明確に意識され始めたのではなかろうか?

 この原理を生かすには、変更の多い箇所は抽象クラスとし、変化はサブクラスで対応することになる。
 鍵となるのは、オブジェクト指向特有のデザインパターンであるFactoryMethodとObserver。ダイコンは、このパターンを意識せずにポリモルフィズムを実現させているような気がしてならない。

|

« XPに惑わされるな | トップページ | 言語は思考を決定するのか? »

日記・コラム・つぶやき」カテゴリの記事

プログラミング」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



トラックバック


この記事へのトラックバック一覧です: オブジェクト指向プログラミングの本質は
「開放閉鎖原則」にあり
:

» 開放・閉鎖原則 [オブジェクト思考]
今回は、開放・閉鎖原則のお話です。 これも、リスコフの置換原則と同じかそれ以上に、ソフトウェア開発者の方には有名な原則ですね。 これも、開発の現場では、みんな知ってるにもかかわらずないがしろにされがちな原則です。 英語でopen・closed principleですので、OCPと..... [続きを読む]

受信: 2007/07/07 16:51

« XPに惑わされるな | トップページ | 言語は思考を決定するのか? »