あらま、なつかしい。元記事はCOMSOMの話ですよ。私がオブジェクト指向の勉強を始めた頃は、こんな話がわんさかでしたよ。
この頃は「オブジェクト指向=コード再利用でうはうは」とみんなが(少なくともエンタープライズでは)考えていた時期で、再利用という側面で技術や言語の優劣を争っていたように思います。また、その再利用性が軽少で語られることが多くこの論争になったわけです。
ただ、困るのが未だに「オブジェクト指向=コードもしくはバイナリ再利用でうはうは」と思っている人がいて、これはもう、有害以外の何者でもないので困ってしまいます。あなたが言うようなクラスの再利用なんて、特にエンタープライズの分野じゃ現実的に出来ませんって。。
まぁ。愚痴w
コメント
お久しぶりです。
私は再利用の利便性は間違っていないと思いますが確かにそれだけではないとも思っています。これは開発現場によってかなり違ってくるでしょう。OOPをやっててよかったなと一番感じるのはPolymorphismができてコードの量が劇的に減ったりきれいになったりしたときでしょうか・・・
OOPの利便性はどこにあるとお考えですか?
お久しぶりです。
ソフトウェアの対象やソフトウェアを作っていく中のどのところで切るかによるとは思うんですが、エンタープライズ向けのソフトウェアシステムの開発においては、オブジェクト/クラスは再利用単位というよりも、(人間が理性で管理できる)最小の管理対象となるように思います。
再利用性に関しては、これよりも大きなサービス、もしくはより小さい単機能レベルのまとまりであるサブジェクト、アスペクトにより実現されていくと思います。単純なオブジェクト指向というよりマルチパラダイム化していっていると思います。
とはいってもオブジェクト指向言語での開発においては、サービスでもサブジェクトでも、いずれもクラス・オブジェクトとして実装されるでしょうから、これらの区切りも概念的あるいは設計的区切りでしかないのかもしれませんね。ただ相対的な感覚として、クラス・オブジェクトは再利用単位としては使いにくいよねという認識はできているんじゃないかと思います。
また、WindowsのWFやJavaでのBuriをはじめとするワークフローエンジンの登場で、再利用単位としては、WFでいうところのアクティビティ(あるいはアクティビティとしてのサービス)が注目されるかもしれません。エンタープライズ向けのアプリケーションは結局のところ事務作業の自動化なので、ワークフローエンジンとの親和性が高いと思います。
それに、MicrosoftとしてはOsloという形で、製品群を整備し、来年以降エンタープライズ分野のアプリケーション開発プラットフォームとしては従来の多階層モデルからワークフローエンジン中心のアーキテクチャを押してきそうななので、乗り遅れないようにしないと。。
コメントが質問からちょっとずれているきがするので、追加します。
オブジェクト指向の最大のメリットはそのままでは整理がつかないことを整理をつけることができる可能性を持っているということだと思っています。
整理づける=モデル化する
コメントが質問からちょっとずれているきがするので、追加します。
オブジェクト指向の最大のメリットはそのままでは整理がつかないことを整理をつけることができる可能性を持っているということだと思っています。
整理づける=モデル化する