今時のOOP

根拠レスですが、なんかこんな感じに落ち込んでいるイメージはあります。


* * *


始めにオブジェクトがあった。オブジェクトがなにで出来ているかとかはどうでもよろしい。

オブジェクトを基本構造単位としてプログラムを構造化する(分割する)。オブジェクト間には関連があって、継承という名の関連(継承という名は 歴史的経緯によるもので、名自体に意味はない)と、所有 という名の関連だ。まぁ、継承はなくても要は足せるが。

オブジェクトにシステムが持つ責務を分割し、責務をイメージさせる名前を付けよ。また上手くハマれば 静的型チェックが効率的に働くだろう。(ただし、完璧にはほど遠いので、自動テストの構築は必須だ)


* * *


このOOP の出自は、メッセージメタファ OOP の影響下で育てられた、というのが定説だが、抽象データ型の OOP の、何の目印もない荒野を、迷い無く渡り切った猛者がいたという説もある。(しかし、多くのプログラマは荒野で息絶えた)