オブジェクト指向の解説はどうしてこうも現実離れしているのか

とあるサンプルにて。

会社 ------- association ----------- 従業員

これを、依存関係の説明のために変更したりする。

会社 ------- dependency ----------- 従業員


一般的に考えれば、従業員は会社がなくなるか従業員自身が退職するまで会社に所属する。その間会社からのアクションを受け続けなければならないし場合により従業員のアクションを会社が受けなければならない。一方依存関係はあくまで一時的な関連であり、そのように定義する場合従業員が従業員としてい存在している期間内に関係が切れても、あるいはその存在を忘れていても良い。会社と従業員の関係が切れる時、それは従業員が従業員でなくなる時である。

たとえば
自動車メーカー ------- association ----------- 自動車

自動車メーカー ------- dependency ----------- 自動車
であれば、上はたとえば製品カタログのモデリングであろうし、下はたとえば販売店在庫管理のモデリングであろう。こちらはまだ判り易い。

昔からオブジェクト指向の解説といえば「犬クラス」「猫クラス」--> 「動物クラス」みたいな解説をよく目にしたが、今もたいして状況は変わらないようだ。