オブジェクト指向の説明について 2ループ目

このエントリーをはてなブックマークに追加
938デフォルトの名無しさん:03/12/22 15:59
前橋くんってなんで叩かれるの?
人徳がないんだろうか?
この本なんか初心者にはいいと思う。

http://pc.bookmall.co.jp/search/info.php?Code=40358

著者は日本でDelphiの本を初めて書いた人。OOPの必然性から説いてる
から入り易い。
940デフォルトの名無しさん:03/12/23 01:02
>>939
初心じゃないんだけど、読む価値あるかな?

2)段階的詳細法/段階的詳細法によるプログラムの設計
ここらへんが気になるが、アットマークで読めるレベルだったら意味ないしな
次スレはマ板でお願いします。
943デフォルトの名無しさん:03/12/23 18:44

「自動販売機.buy_button」の説明はなるほどオブジェクト指向だ、
現実にマッチした良いモデル化だ。

しかし、

「消しゴム.size」

で、消しゴムのサイズ(cm)がでるとすると、現実にマッチしない。

すなわち、オブジェクト指向というのは、現実世界をうまくモデル化
出来ない。
944デフォルトの名無しさん:03/12/23 18:48
>>943
int cm = 定規.計測(消しゴム);
何で現実世界をモデル化しなきゃならんのだろうか。
「自動販売機.fly_to(moon)」

で、自動販売機が月に飛ぶとすると、現実にマッチしない。
うんこすれ
うんこでオブジェクト作りたい
949デフォルトの名無しさん:03/12/24 00:04
>>945
それがオブジェクト指向の目的だからです。
ちがう??

>>944
それなら、単純に

cm = length(消しゴム)

の方が普通だし、簡潔&明瞭。
950デフォルトの名無しさん:03/12/24 00:06
ってことで、950ゲットとなったわけですが、次擦れタイはどうしましょう?

【非現実的】オブジェクト指向の説明について 3ループ目【より複雑】

ぐらいでいかがでしょう?
もういらねーよ、このスレ。さすがに前橋ネタも飽きたし。
>>945
現実をシミュレートするのが、コンピュータの仕事の一つだから。
元々、オブジェクト指向って、シミュレーションあたりから
出てきたんじゃなかったっけ?
>>940
買ったけど、構造化プログラミングのところを
立ち読みすれば十分。
OOはいらね。
>>949
>ちがう??
ちがう。
>>951

飽きてねえ。C厨でいりゃいいのにOO屋きどりだもんね。
956デフォルトの名無しさん:03/12/24 16:58
オブジェクト指向でいう 責任とか責務ってのはなんだい?メソッドということ?
協調動作?とか言うのもよくわからん。
他のオブジェクトのフィールドやメソッドの引数に自分を渡してあげるってことかい?
うーんますます臭気が漂うスレですね。
Java男にうってつけの。
>>945
分かりやすいから、じゃないかなぁ
保守も、拡張も
959デフォルトの名無しさん:03/12/26 22:38
手元の本にはユースケース毎に開発をすると良いと書いてある。
一つのユースケースには、大抵一つはバウンダリークラスがあると思う。
バウンダリークラスは、例えばWindowsだと適当なダイアログ&コモンコントロールで担いそうだ。

と、ここまで読んで思ったのですが、複数のユースケースが
同じダイアログやウィンドウを操作に使う場合も多々ありますよね。

これだとユースケース別に開発した場合、後で統合するのが
凄い面倒そうな気がするんですが、そんなもんなんでしょうか?
ダイアログならまだ良いのですが、キー操作なんかだと更に…。
960デフォルトの名無しさん:03/12/27 00:19
まぁ、最近思うことは
はじめの内は、こりゃいいかも?などと言いつつのめり込みつつあった
わけだが、

最近は、やはり普通の非OOの方がコンピュータには、マッチすると感じる
ようになった。
>>960
それは良かったな。

まあ、コンピューターにはマッチしている
という理由で高級言語よりアセンブラで
プログラムしたがるような真似をしたいなら、
本人の勝手さな。それで仕事が貰えれば良いね。

漏れは楽をしたいからできればOOで行きたいけどな。
>>960
コンピュータがどこまでいってもデータプロセッサであり、
プロセスという概念を一般化するとどこまでいっても Source-Transform-Sink であるし。
システム境界の外側から眺めると、そりゃそうでしょうね。

でも、STSの手続きを幾重も多重にネストする手法でシステムを把握可能かどうかはまた別の話。
自分も >>961 と同じく楽をしたいから、もう少しこの道をいくよ。
>>959
サブユースケースとか書いてない?>手元の本

ユーザーの登録、削除、情報の変更を一画面で行うような仕様があるとする。
たぶんユースケースは次のように構成されると思う。
 UC [ユーザーを管理する]
     SubUC [ユーザーを登録する]
     SubUC [ユーザーを削除する]
     SubUC [ユーザー情報を変更する]

バウンダリクラス「ユーザー管理画面」が出てくるのは[ユーザーを管理する]。
SubUC はそれぞれインタフェースを持っている。

おそらく「ユーザー管理画面」クラスのコントローラは、
SubUCのインタフェースに対して必要な情報をもつオブジェクトを渡して処理を依頼する。

処理が完了すれば、
「ユーザー管理画面」クラスが参照しているモデルが更新されており、
表示内容も更新されるはず。



964デフォルトの名無しさん:03/12/27 05:31
>>959
ユースケースと画面は別物です。(かなり近いけど。)
ユースケースはユーザーが利益を得るためために行うシステムとのインタラクションを記述したものであり、
一対一でバウンダリクラスとマッピングされるものではありません。
なのでユースケース分析が終了した後にそれらのユースケースが効率よく達成されるような、
ユーザーインターフェースを設計するのが普通です。
おそらくその「手元の本」で言われているようなユースケース毎に開発するとよいというのは
ウォーターフォール的に複数のユースケースを並列開発するようなことを言っているのではなく、
イテレーションを行い各イテレーションのなかで一つ一つのユースケースを達成するように開発することを
薦めているのではないかと思います。
>>964
イテレーションなんて、手間かかるだけだよ。
ウォーターフォールまんせー。
何度も客先に納品なんてやっとれん。
966960:03/12/27 12:08
>>961,962
まともなレスあんがとう。

いまどの言語つかってます?
私は言語オタというわけでは決してないんだけど、
必要に迫られてオブジェクト指向系だとPython/Rubyあたりを
使っています。(過去系ではないところが、説得力ないんだけど。)

で、出戻り先は古典Cです。w

***

おもうんだけど、古典Cは白紙に地図をかくような感じ。
オブジェクト指向は、方眼紙に地図をかくような感じ。

たしかに、桝目が描くものにマッチしていれば楽なんだけど、
そうでないケースも案外多かったりして。

ちょっと、憂鬱な毎日。
967デフォルトの名無しさん:03/12/27 13:31
>さすがに前橋ネタも飽きたし。

OO関係のMLでの前橋の香ばしい書き込みを読むと楽しいぞ。
あれだけ専門家がいる前でどうどうと珍説を述べるのだから
さすがは天然はひと味違うと確信する。
968デフォルトの名無しさん:03/12/27 20:20
つまり、オブジェクト指向自体がアフォってことでよろしいですか?
969デフォルトの名無しさん:03/12/27 20:29
>>968
お前はこれからアイコンをクリックしてプログラムを起動させるなよ。
970デフォルトの名無しさん:03/12/27 20:53
>>969
してませんが何か?
971デフォルトの名無しさん:03/12/27 21:12
ランチャーのことじゃないぜ。
ワードファイルクリックしてワードを起動させるなよという事だ。
設定ファイルクリックしてメモ帳も同様だ。
>>971
キティガイはおうちに帰ろうね。
973デフォルトの名無しさん:03/12/27 21:28
>>972
お前がキチガイだろ。
974デフォルトの名無しさん:03/12/27 21:29
>>968
おまえは
ワードファイルクリックしてワードを起動させるな。
設定ファイルクリックしてメモ帳も同様だ。
そもそもwindowsを使ってないヤシも多いスレなわけだが
OOだめだとAlto - Lisa- Mac の流れのOSが使えなくなるなあ。

X ならまだ何とかいけるかも。
なんか必死な奴がいて笑える
978デフォルトの名無しさん:03/12/27 23:54
>>968のような奴は
この世に生きている意味がないだろ。
コンピュータの世界に逝った方が良い。
979デフォルトの名無しさん:03/12/28 00:44
Windows使ってなかったらどうせLinuxだろ。
いまだにCUIの奴なんているの?
とにかくOOの重要性分かってないような>>968はGUIだろうな。
しらずにOOの恩恵を受けてるんだろうな。
オオでないとGUI書けないと思っているアフォが
このスレでじゃれ合っているだけなんだな。
お前らラッパーだけ作ってろ。あふぉが。
クリエイティブな競争力がある物を想像する事
オオなんてじゃまなだけなんだよ。ばか。
>>979
gtk+もろくに知らないやつが偉そうに文章書くな。
アフォ。
糞スレ
983979:03/12/28 01:25
>>980,981
お前がアホだろ。
俺は元スレ1だが、OOでGUIコーディングするなんて一言も言ってないぜぼけが。
GUIにおいて、ファイルのアイコンクリックしたらそれに関連するアプリケーションが立ち上がるというOOの概念を書いてるんだよ。
984979:03/12/28 01:31
OOなんてじゃまなだけっていうアホが反論あるときは、自分のPCの環境書き込んでからにしろよな。
GTK+使ってるのならOOの恩恵受けまくりだろ。
List data = new Vector();
と書ける様になるまで2年かかりました.
一文字あたり約1ヶ月か・・・
987359
>>963-364
詳細な解説、具体例、心から感謝です。

特に並列開発可能だと思っていた所が、大きな誤解だったようです。
ユースケースなら何でも良いわけではなく、SubUCに上位するユースケース毎に、
或いは、あくまでイテレーション(機能追加)していく形で開発するのですね。

となると複数のユースケース、またはサブユースケースに
またがるバウンダリクラスというのが、当たり前のように出てきそうですね。

これを手がかりに、もう少し勉強を進めてみます。お二人ともレスありがとうございました。