オブジェクト指向の比喩

C言語から入った私にとって、オブジェクト指向は理解しがたい概念であり、
また人に説明しづらい概念だった。
なんか、これわかりやすいんじゃないの?という比喩を考えたので書いてみる。

手続き型とオブジェクト指向の比較としての比喩

50分の勧善懲悪の時代劇を作るとする。
1クール13話分を作ることを予定している。(←ここまでが要求)

ストーリーを中心に作っていくのが手続き型開発。

登場人物を中心に作っていくのがオブジェクト指向。

対応関係は
ストーリー→処理の流れ
登場人物→オブジェクト

比較した場合のオブジェクト指向のメリット的に書くと。。
オブジェクト指向では、登場人物を作り込む。
勧善懲悪なので正義の味方と悪人がいる。
まず、正義の味方の水戸黄門がいて、普段はただの隠居である。
実際の『懲らしめる力』はないので、お供(助さん、角さん、etc...)がいる。
黄門様の役割は〜で、助さんは〜で、・・・と決めていく。
登場人物がしっかりしたところで、ストーリーを作り込む。
今回はどこどこへ旅して、ここの悪代官はこんなかんじで〜というのを決めると、
主要登場人物は作り込んでいるので、どの場面でどう絡むかを決めるだけである。
つまり、登場人物は再利用できて、次の話(バージョンアップ)では、
その話なりの特徴的な部分を作り込んであとは組み合わせるだけである。

逆に手続き型開発は、ストーリーを先に作って、
そこに必要な登場人物を必要になったら作っていく。
そのため後付けの設定で登場人物の性格が破綻するようなことになりうる。
もしくは、新しい登場人物がどんどん出てきて収集がつかなくなる。

現実の問題は、第1話や2話の段階では、
第13話くらいの展開が読めないことである。
どのくらいの話まで想定するかをちゃんと見積もっておかないと、
遠山の金さんにむりやり助さん角さんを出すような羽目になりかねない。
また、どんなストーリーにでも対応できる登場人物を作ろうとして、
スーパーマン的な特徴のない、ある意味使いづらいキャラになってしまう。

このたとえ、どうなんだろう。。。

コメントをかく


「http://」を含む投稿は禁止されています。

利用規約をご確認のうえご記入下さい

どなたでも編集できます