- - PR -
オブジェクト指向とUMLの研修について
| 投稿者 | 投稿内容 | ||||||||
|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2004-01-23 13:16
unibon です。こんにちわ。
#チャチャ(冗談)ですが、コストが高そうですね(銀は鉛より高価なので)。
しかし、システム構築初期段階の要求仕様は概して「振る舞い」だけにこだわって、「状態」は構わないことがほとんどですよね。システムを作らない人(使う人)にとっては「オブジェクト指向」で思考しないわけであり、それが作る人とのギャップになり、これを解消しないことには「オブジェクト指向」で作るメリットが薄れると思います。 | ||||||||
|
投稿日時: 2004-01-23 13:35
※UMLとは全く違う話題になってしまってますねぇ。
いやぁ、話を変なほうに膨らませているようで恐縮しております。
これは、アプローチ手法としてのPOAとDOAの違いのような気がします。 DOAであってもデータモデリング等のオブジェクト指向要素が入って来るので、 ちょっと切り口が異なるかと...
おっしゃる通りなんですが、「これがオブジュクト指向だ」と定義すると、昔からC言語でも VBでも、DOSの頃からでも同じようなことをやっている訳ではないですか。 (C/Sの3階層構造プログラミングなんて構造化の代表のようなものですが、これとて 上記のようなことですよね?) オブジェクト指向を「銀の弾」だとは全然思っていないのですが、何かこれまでの事とは 決定的に違うというような説明(定義)ができないのかなぁと思うのですよ。 (実装レベルとしてクラスが使えるとかどうとかではなく、「オブジェクト思考」として。) ※ところで実装レベル(アーキテクチャでもかまいませんが)としての考え方としては、 UNIX/Linux、Windows等のOSそのものとしては、オブジェクト指向と言うことができる のでしょうかねぇ? | ||||||||
|
投稿日時: 2004-01-23 14:17
unibonさんこんにちは。米山@クロノスです。
高いですよ〜。 と、それはさておき
確かにユーザーとのやり取りとなる上流工程では、非オブジェクト指向で進めたほうがうまくいきますね。 そもそも、ユーザーにオブジェクト指向の理解を強要することは無理じゃないかと思います。 上流工程から下流工程までシームレスに、というのはなかなか難しいですね。 [ メッセージ編集済み 編集者: 米山@クロノス 編集日時 2004-01-23 14:21 ] | ||||||||
|
投稿日時: 2004-01-23 14:26
Beatleさんこんにちは。米山@クロノスです。
いえ。違うということを言いたかったのですが。。。 そもそもVBにインターフェイスの概念はないですよね? | ||||||||
|
投稿日時: 2004-01-23 14:35
横から失礼します。
VB5 以降にはあります(VBA にはない)。 こんな感じです。 ' Class Parent の定義 Option Explicit Public Sub DoHoge End Sub ' Class Child の定義 Option Explicit Implements Parent Public Sub Parent_DoHoge() ' DoHoge の Child 用の実装 End Sub ' 使用例 Dim p As Parent Set p = new Child p.DoHoge | ||||||||
|
投稿日時: 2004-01-23 16:39
顔爺さんの書き込みのように「あるバージョンから出来るようになった」ので すが、私が問題にしたかったのがここなんですよね。 言語そのものに概念が無い⇒それをいろいろな手法を屈指して実現する 例えば、VBそのものに概念は無くとも、インターフェイス概念にあたる部分を別の もの(API、ActiveXとか)で実現するといったことも含めてオブジェクト 指向なのではないかと... もしそうであるならば、より設計思想側に「オブジェクト指向」としての考え 方の主要因があるのではないかと思うわけです。 | ||||||||
|
投稿日時: 2004-01-23 16:46
objectです。
>ukさん 恐らく、一般的に「オブジェクト」として認識出来るもので、「責務」等単独の概念で表現出来るものは無いと私は思います。 最低限、「データ」と「機能」がセットとして必要で、これらは基本カテゴリだと思います。 #ukさんの「責務」は、暗黙に役割を包含していないでしょうか? 米山@クロノスさんが、 「オブジェクトにはロール(役割)や責務があり」 と少し言及されてますが、正確には ロール(役割)と責務であり、 結局 データ <-> 役割(ロール) 機能 <-> 責務 という対応関係になると思います。 「役割」無き「責務」は、考えられないと私は思います。 それでは、機能と責務の違いは何かというと、 機能 <-> 必要な振る舞い 責務 <-> 必要十分な振る舞い という違いではないでしょうか? 「データ」と「機能」を切り離し、単独で扱っても一般的には意味が無いと私は思います。 | ||||||||
|
投稿日時: 2004-01-23 17:15
えーと、責務の定義は私が勝手にしたものではなく、一般的なテクニカルタームです。 #それと「オブジェクト=責務」とも言っていないはずですが。 objectさんは「責務=振る舞い」と考えてらっしゃるようですが、「情報(データでも 状態でもいいです)を知っていること」も責務になります。 役割と責務を結びつけるとすれば役割は責務の集合に名前を割り当てたものといえるかと 思います。 | ||||||||
