クラス指向とオブジェクト指向

前回のお試しセミナーでは設計原則を扱いました。「アジャイルソフトウェア開発の奥義」に収録されているやつです。この設計原則って、個人的にはあまりオブジェクト指向らしさがないと思っています。なんというか、クラスベースでの話なんですよね。まぁ、原則というぐらい基礎の基礎なので、それでいいのですが、やはりオブジェクト指向を嗜好している自分としては、オブジェクト同士がメッセージパッシングしながらシステムとして成り立っているというのが素敵だと思うわけです。そうすると、オブジェクトを意識してクラスを設計するよりも、コラボレーションしあっているオブジェクトをおいていって、その上に責務をおいていきたいなぁと思います。するとプロトタイプベースの方があっているのかなぁと思っています。アスペクトちっくな感じもしないではないですが。まぁ、このような手法では業務アプリは作りづらそうですが、プロトタイプを作るのにはちょうどよいかな。プロトタイプを作るための言語だからプロトタイプベースの言語というわけではないのでしょうけど。で、そのオブジェクトをうまく、圧縮して保存する仕組みが、クラスだったらちょうど良いかと思います。ここの圧縮は、人間が行うのではなく、機械でやってもらいたいところ。ということは、リソースが足りなくて圧縮しなくてはならないから、クラスを設計し、必要に応じてオブジェクトを生成していると考えてもよさそうに思えてきた。