[482] Re:「オブジェクト指向再入門」について
投稿者:CES
2007/02/20 02:13:25
>>バグを減らすにはどうすればいいかというと、極力コードを書き起こす量、
>>き換える量を減らすことです。
>>継承や多態性は抽象化のための手段であり、抽象化は再利用のための手段であり、
>>利用はコードを書く量を減らすための手段であると思います。
>
>そこまで一般化してしまえばそうかもしれませんが。
それが悩みと言えば悩みで。
「オブジェクト指向はバグを減らすための技術である」は真であると思いますが、「バグを減らすための技術はオブジェクト指向である」これは偽です。
じゃあ「オブジェクト指向」という言葉の定義は何かというと、詰まってしまって…
カプセル化も継承も多態性も「ソースコードを量を減らし、バグを減らすための手段である」と括ってしまうと、「バグを減らすための技術はオブジェクト指向である」が真になってしまうので。
「カプセル化を中核とし、それにバグ軽減のための様々な技法を付随させたものである」という定義を試みたこともありましたが、カプセル化だけ特別扱いするのもどうかと思いますし…
>たとえば、interfaceを使うのと継承を使うのとでは、短期的には継承を使う方が
>ソースは短くなるものですが、それでもinterfaceを使おう、というのが
>最近の風潮ですし。
ただ闇雲にソースを短くすればいいというわけではありません。
そもそも、オブジェクト指向を使えば、どうしたってソースは肥大化すると思います。
一時的にはそうであっても、将来的に、トータルで見て書く量を減らそう、ということです。
>一例ですけど、StrutsのActionがinterfaceでなくクラスなのが気になって
>しょうがないのです。私の場合。
Struts については(というか、Java 自体)よく知らないので、コメントは控えさせていただきます。