s

オブジェクト指向って…

オブジェクト指向は分類学なのか?

jkondoの日記 - オブジェクト指向は分類学

「これは分類学なんだな」ということでした。 手続き型のプログラムをたくさん書いていると、よく似た処理をまとめたくなってきます(特にそうはならない勤勉なプログラマを除いて)。 例えば、ユーザーのデータをデータベースから引っ張り出して、その人が本登録済みかどうかを判定する、という処理を毎回書いているうちに、どこか1箇所に書いて、全ての場所からその処理を使いまわしたいと思うのは自然な流れです。 この「処理を1箇所にまとめる」という時にどうまとめるのか? 例えばユーザー本登録チェックモジュールみたいなのを作って毎回呼び出すとか、色々方法がありますが、その色々な中で生き残って色々な可能性に耐えているのが、「物=オブジェクトを元に分類する」ということなんだなあ、と感じたのが僕の理解でした。 つまり、「ユーザー」というオブジェクトを作って、そのユーザーに「あなたは本登録済みですか?」と聞くのが分かりやすく、現実世界の概念に似ているために、分類が行いやすく、また、多くの開発者の中で共有しやすいんだろうなあと思います。 実際に開発をやっていると、何がオブジェクトになれるのか、とか、どのオブジェクトが処理を行うのが自然なのか、みたいな疑問がしょっちゅう出てくるわけですが、こういう問題をあれこれ考えるのは「この世の中は何でできているのか?」というパズルを解いているみたいで、個人的に楽しく感じています。