オブジェクト指向を学ぶなら
Posted by yoosee on Life at 2006-04-14 23:42 JST1 【中級】基礎からのオブジェクト指向 第1部 オブジェクト指向習得への道(前編)
オブジェクト指向はいわゆる手続き型と比べると、手法のみならず思考方法を変えることが必要なので、初期の習得が難しいというのはその通りだろう。しかしだ、問題の一つはこう言う的外れな教育方法をする人が多すぎることなのではなかろうか。「オブジェクト指向は分かりにくい」…。登場から30年余り経っても,未だに オブジェクト指向に対する敷居は高いままだ。ここではオブジェクト指向がなぜ難しいのか,習得するにはどうすればよいのかを見ていく。カギは「人間にとって自然な考えであること」の認識だ。
実世界のことがらや仮想的な事象の1つひとつを対象にしてモジュール化するパラダイム、などと言っていたら、そりゃわけがわからないだろう。
個人的は、まず「オブジェクト指向を使う・学ぶと何が嬉しいか」を理解すべきだと思っている。その一つには「コンピュータへの命令という不可視なものを人間が理解しやすい形にする」と言う思想的な部分があると思うが、もうひとつ大切なのは「個々のデータ・機能を隠蔽でき、お互いの依存性を下げられる」事だと思う。つまり一部を変更するという行為が他に影響を与えないという特徴であり、特にビジネスユースの場合、事後の改変だけでなく Test, QA プロセスにも多大に影響する部分だ。
何故それを理解すべきか。それは、これがオブジェクト指向に特化した事ではなく、C などでも関数やライブラリを作るときには当然考慮する部分であり、メリットが明確だからだ。人間、学ぶことによって得られるメリットが分かっているものならば学ぼうと言うモチベーションも保ちやすいが、良く分からないものを延々と勉強できるものではない。
2 オブジェクト指向の学習として
Web 上でまとまったオブジェクト指向に関する学習のためのドキュメントと言われるとあまり良いものが思い付かないが、Ruby ではあるが「まつもと直伝 プログラミングのオキテ(要無料登録)」は読んでおくのが良いのではなかろうか。またオブジェクト指向の持つ「隠蔽」「低依存」と言う考え方を推進するものとしてはデザインパターンがあり、書籍としては 増補改訂版Java言語で学ぶデザインパターン入門 も良いと思う。他にも書籍ならば良書は多いと思うが、あまり明るくないのでこれくらいで。