プログラムだって同じである。
ひとつの「オブジェクト」に、何でもかんでもやらせようとすると、オブジェクトだって怒りだす。やがてはバグとなって噴出するだろう。
★
オブジェクト指向は、擬人化という観点で語られることがある。オブジェクトを人に見立てて、その役割、仕事を考えようというわけだ。オブジェクト指向の「クラス」は、データと手続きをまとめてモノ(オブジェクト)になぞらえたものだ。その結果、非常に擬人化しやすくなっている。
「現実世界をそのままクラスで表現することは出来ない」というのと同じような意味で、クラスの擬人化に限界を感じる人もいる。しかし、擬人化というのは、「モノを人に見立てる」ということだけではない。むしろ、「自分がモノになりきる」ことである。
人間は、色々なものに感情移入することができる。犬猫はもちろん昆虫や宇宙生物、雑草や石ころに至るまで。もちろん、「クラス」に対しても可能だろう。さらに言えば、関数や変数ですら擬人化することができるはずだ。
★
自分の経験的から言っても、クラス設計の際に「オブジェクトの気持ちを考える」というのは有効なことだと思う。
クラスにどのようなデータや機能を持たせるか、インターフェースはどうするか、といったことを考えるとき、そのクラスの「立場に立つ」と、自然と決まっていくことは多い。また、できたクラスは、自己完結した汎用な設計になりやすいのだ。
それは、システム全体の機能などにはとらわれず、クラスの「個」としてのありかたを意識しやすいからかもしれない。
■関連記事
・バグの気持ち
オブジェクト指向でなぜつくるのか―知っておきたいプログラミング、UML、設計の基礎知識―
posted with amazlet
on 06.05.03
平澤 章
日経BP社 (2004/06/03)
売り上げランキング: 8,743
日経BP社 (2004/06/03)
売り上げランキング: 8,743
おすすめ度の平均:
読んで損はない1冊だと思います!基礎がしっかりしているベテランエンジニアにこそ。
レガシーからオブジェクトへの入門書
Javaプログラマガ知ツテオクベキコト
posted with amazlet
on 06.05.03
えんどう やすゆき
毎日コミュニケーションズ (2005/08)
売り上げランキング: 35,391
毎日コミュニケーションズ (2005/08)
売り上げランキング: 35,391
おすすめ度の平均:
一風変った良書「何故プログラミングをするのか?」を思い出させてくれる本
何のためにこの本を読むかが分かりやすい