わんくま勉強会オブジェクト指向分科会に参加された方、お疲れ様でした。
パネルディスカッションで私が
「オブジェクト指向では木構造のデータを前提としているから、
O/Rマッピングでインピーダンスミスマッチが発生する。この点が弱点なのではないか」
という発言をしたのですが、帰りの電車でいろいろ考えたのでまとめておきます。
オブジェクト指向自体はデータ構造に縛られない
確かに、現在のオブジェクト指向言語はクラスのインスタンスがメンバとしてデータを持つような構造ですから、
参照による木構造をなす作りになっています。
しかし、木構造のデータ構造というのはオブジェクト指向の要件ではない。
冒頭の発言は誤っているわけです。強いて言えば、
「現在使われているオブジェクト指向言語は木構造データを前提としている」
といったところでしょうか。
つまり、たとえばRDBMSのようなデータ構造をもつオブジェクト指向言語を設計することも可能だということです。
リレーションデータ系オブジェクト指向言語の提唱
既存のオブジェクト指向言語は木構造データ系オブジェクト指向言語だったわけです。
ここでRDBMSにならったデータ構造をしたオブジェクト指向言語を提唱したい。
これはリレーションデータ系オブジェクト指向言語となるわけです。
用は1レコードをひとつのオブジェクトとして、オブジェクト間でメソッド呼び出しによる
メッセージのやり取りを行うという形。
メッセージを受け取れるものがオブジェクトという定義に則るならこれで問題ないわけです。
言語の詳しい構想については次回に持ち越すことにしましょう。
投稿日時 : 2007年11月18日 23:22