さて、そろそろ飽きてきたんだが (ぉぃ。
オブジェクト指向の説明をするときに、よくこんなことを言いますな。
「動物」という抽象クラスがあって、「鳴く」という純粋仮想メソッドを持つ。
実装クラス「犬」は「鳴く」とワン!という。
実装クラス「猫」は「鳴く」とニャー!という。
これね、いいんだけど、非常に悪い面があると思うんですね。
つまり、実際のアクターやデータの単位でしか「オブジェクト」を考えられなくなってしまう。
C++ の STL というライブラリなんかみると、もちろんメインはデータコンテナなんだけれども、たくさんあるテンプレートクラスのほとんどが「処理」というか「アルゴリズム」を抽象化・汎化しているものがほとんどなんですな。
だから、本当は業務アプリだって、ロジックを汎化した方が良い場合も考えられるわけ。
なんかもう面倒臭いので具体例をあげる気力がないんだけれども、たぶん、オブジェクト指向に関する誤解がまずあって、それで業務アプリでは使いどころがないと思われているのではないかと。
そんなことを考える今日この頃。
…オチがないぞオチが。
コメント