【綺麗】デザインパターンは美しい!【究極の美】

1仕様書無しさん
なんて素晴らしい世界なのだ。
読みやすく綺麗なソースコード

拡張性、移植性、保守性、再利用性があり即座に移植、プロジェクトの引き継ぎが可能なコード。
即座にUMLでリバースエンジニアリングできるソースコード。


美しい、すんっばらしいぃ!
2仕様書無しさん:04/07/06 10:33
1000!
3仕様書無しさん:04/07/06 10:36
オブジェクト指向は美しい!

至高の存在だ!

拡張性の先にオブジェクト指向の美が見える!


マ板のPGにオブジェクト指向を覚えさせたい!
http://pc5.2ch.net/test/read.cgi/prog/1081700132/
4仕様書無しさん:04/07/06 11:31
  ̄ ̄ ̄ ̄ ̄ ̄○ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
           O 。
                 , ─ヽ
________    /,/\ヾ\   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
|__|__|__|_   __((´∀`\ )< というお話だったのサ
|_|__|__|__ /ノへゝ/'''  )ヽ  \_________
||__|        | | \´-`) / 丿/
|_|_| 从.从从  | \__ ̄ ̄⊂|丿/
|__|| 从人人从. | /\__/::::::|||
|_|_|///ヽヾ\  /   ::::::::::::ゝ/||
────────(~~ヽ::::::::::::|/        = 完 =
5仕様書無しさん:04/07/06 14:18
とりえあずデザインパターンを学べ
6仕様書無しさん:04/07/06 14:20
>>1は実装したことがない学生。
7仕様書無しさん:04/07/06 14:26
実装したことがある朱らこそすばらしさを理解できるわけだが
8仕様書無しさん:04/07/06 14:45
少しでも大きなプロジェクトで開発したことがあれば、
色んな政治的要因にボコボコにされて少しずつ腐っていく実装を見たことがあると思う。
少なく>>1にそんな経験はなさそうだな。
9仕様書無しさん:04/07/06 14:48
業務系にはデザパタなど無用の長物
アンチパターンだけ覚えてろ
10仕様書無しさん:04/07/06 15:22
>>9
確かに、右から左にデータが動くだけのシステムには
必要ないよなあ。
11仕様書無しさん:04/07/06 15:48
>>10
右から左にデータが動くだけのシステムってどういうの想像してんの?
12仕様書無しさん:04/07/06 15:59
こんなの?

データ←データ←データ←データ←データ←デート←データ←データ←データ
13仕様書無しさん:04/07/06 16:16
>>8
知ってるよ。
顧客が急げといわれたらその美しさも枯れてしまう。

ダイヤモンドダストのようにすぐに消えてしまう一瞬のきらめきがあるからこそ
デザインパターンは美しいのだよ。
14仕様書無しさん:04/07/06 16:17
>>9
> 業務系にはデザパタなど無用の長物
基幹系業務に使われているJ2EEではかなり使われているぞ。
J2EEパターンとかな。
15仕様書無しさん:04/07/06 16:21
仕事でデザインパターンをうまく使うにはスタートダッシュをかけるしかないと思われる。
急いで骨格を作る。早めに一度作ってしまえばなんども再利用できる。
せっかちな顧客に対してはこの戦法しかない。
これによってよりデスマーチ率が減り多くに人が救われれば幸いだ。
16仕様書無しさん:04/07/06 16:26
究極といえばエクストリームプログラミング(XP)。
この戦術を使って開発じゃ。
これに加えてオブジェクト指向を頻繁に駆使し開発する。

オブジェクト指向開発は最初が肝心だ。
スパイラル開発、反復型開発, RUP, XP ができたとしてもオブジェクト指向設計が生半可だと
モジュール間の依存関係が大きすぎて思うように反復(後戻り)できない。
モジュール間の依存関係を早めのうちに疎にしておくべきだ。
関係を一度密にしてしまうとくっついたものをなかなか取り外すことができない。

やはりオブジェクト指向にはスタートダッシュが必要不可欠だ。
17仕様書無しさん:04/07/06 16:31
所詮ドカタ開発
18仕様書無しさん:04/07/06 17:03
デザインパターンとは定石をマニュアル化しただけのもの。
分かりやすくすっきりしていてあたりまえだ。
美しいとかすばらしいとかってのはそういうことじゃないだろ。
19仕様書無しさん:04/07/07 21:22
>>18
同感。デザパタをかたくなに信奉しそこから一歩も踏み外せないのは
かえって滑稽
20仕様書無しさん:04/07/07 22:53
宗教がかったスローガンを恥かしげもなく連呼するような奴は、
低能確定。自分の脳で考えることをしていないだけでしょ。
21仕様書無しさん:04/07/09 23:51
>>17
デザインパターンをドカタ開発呼ばわりするアフォに未来は無い。
22仕様書無しさん:04/07/10 09:14
>>20
日本人はろくにデザインパターンというものを勉強しないので
プログラマーの価値がその分下がっている。

よってこのような布教活動は欠かせないのだ!
プログラマーの価値を高めるために!
23仕様書無しさん:04/07/10 11:29
エーンタプライズプログラマーにデザインパターンは必要不可欠。
エンタープライズアーキテクトになるならデザインパターン、アーキテクチャパターンは
必要不可欠だ。 
24仕様書無しさん:04/07/10 21:00
デザインパターンがGoF本を指してるのか構造をさしてるのか分かりにくい。

大規模なアプリを作るときに保守性の高い構造にするのは当然だが
このスレでマンセーしてる奴らは実際の業務で仕様書を見て
「この構造はGoF本に載ってない!」とか騒ぎ出しそうなにおいがする。
25仕様書無しさん:04/07/11 02:35
>>24
アフォか
26名無しさん@そうだ選挙に行こう:04/07/11 11:13
アフォです まじで
>>24
> デザインパターンがGoF本を指してるのか構造をさしてるのか分かりにくい。
それはチミの脳内変換です。

私は>>1だがGraspパターンも知ってる。
GoFだけに限定するなんてとんでもない。
28名無しさん@そうだ選挙に行こう:04/07/11 14:42
デザインパターンの次に覚えるとは?

次なる段階は

アーキテクチャーパターンだ。
そしてアナリシスパターンだ。
アンチパターンもついでに
30名無しさん@そうだ選挙に行こう:04/07/11 15:43
そして、イディオムも。

だいたい、この板に救ってる香具師の大半は
オブジェクト指向をろくに理解できず使いこなせない馬鹿どもばかり。

そんなやつらが唯一しっているパターンといったら
イディオムくらい。

イディオムってぇーのは簡単に言うとアルゴリズムのあつまりみたいなもんだ。
>イディオムってぇーのは簡単に言うとアルゴリズムのあつまりみたいなもんだ。
おいおい・・・
>>30
喪前もだろ。
33仕様書無しさん:04/07/12 11:15
GoF本に限定しなけりゃデザインパターンを何で限定してるの?
限定しなきゃデザインパターンなんぞ有用無用含めて沢山ある。

まぁいいか、クソスレだしな
34仕様書無しさん:04/07/12 13:15
デザインパターンを自慢する奴って、伊東家の食卓の知識を翌日にひけらかすのと同じに思えるんだが。
35仕様書無しさん:04/07/12 13:20
>>33-34
考えすぎ。


このスレはデザインパターンを普及させるためにある。
多くのマ板のデザインパターンを知らないプログラマを啓発するためにある。
36仕様書無しさん:04/07/12 14:06
OOしか知らないのって視野が狭くてダメだね。プ
37仕様書無しさん:04/07/12 14:41
>>36
で、お前の自慢は、くそくだれねーポインタ演算か?
シンデクレ・シュガーか?


いいか。おい。
結城本でいいから、OOとデザパタは勉強しとけ。
でなけりゃ、すぐ辞表書けや。
38仕様書無しさん:04/07/12 14:45
「くそくだれねー」?
39仕様書無しさん:04/07/13 01:35
このスレに居る奴ら究極にバカ
40仕様書無しさん:04/07/14 04:30
デザインパターンは、実装を積み重ねないと体感できないよ。
そこを忘れてくれるな。
41仕様書無しさん:04/07/15 00:32
結城浩の本でもよんでなんども繰り返しプログラミングしていれば
何かいいことが思い浮かんでくるさ
42仕様書無しさん:04/07/15 00:34
厨が漂うスレだな。
43仕様書無しさん:04/07/15 00:36
結城本=現場で使えないプログラマー量産本
44仕様書無しさん:04/07/15 00:41
>拡張性、移植性、保守性、再利用性があり即座に移植、プロジェクトの引き継ぎが可能なコード。

受け取り側が糞なら、どんな方法論であろうと↑みたいな結果には絶対できましぇーん。

教育(または無能者淘汰)について語るほうが先なんじゃないかと思う今日この頃。
45仕様書無しさん:04/07/15 00:45
>>43
ちゃんと読んでいない、あるいはその本を読んだだけで終わった
向上心の無い香具師らばかりだったらそうなるだろうな。

だが、何も読まないよりはマシだ。そこから進歩し成長してゆく。
46仕様書無しさん:04/07/15 00:56
>>20
バカだな。
デザインパターンを理解し実際に使いこなすにはかなりの想像力がいる。
徹底的に自分の脳で考えることを必要とする。
GoFなどの他人が考えたデザインパターンを見ることで
プログラマはスキルアップする。

この本を読んでみるといい。
Code Reading
http://book.mycom.co.jp/book/4-8399-1265-3/4-8399-1265-3.shtml

プログラマが仕切るアップするためにはとにかく他人のソースコードを
ぬすんででも読むことだ。この本にはそう書いてある。
だからこそオープンソースは力だ。
とにかく他人の考えたデザインパターンを習得することだ。
そこから新しいアイディアが生まれスキルアップして成長してゆく。
47仕様書無しさん:04/07/15 01:04
今のプロジェクトで使ってるフレームワーク。
J2EE、EJB周りのアンチパターンがぎっしり詰め込まれてます。
それを使うとアンチパターンに沿った開発ができる素晴らしさ。
泣きそう。
48仕様書無しさん:04/07/15 01:04
つまり自分でゼロから生み出す能力が無い人が使うHowTo本みたい
なもんですね。
49仕様書無しさん:04/07/15 01:06
確かに最初は頭の体操になるな、イテレーターとかオブザーバーとか
50仕様書無しさん:04/07/15 01:06
そういうこっちゃ。

オブジェクト指向の第一人者も「デザインパターンとか自分で作るもんだ」
って言ってGoF本バカにしてたしな。
51仕様書無しさん:04/07/15 01:08
パターン関連のワークショップやらミーティングやらは
科学者はほとんどいなくて、実務家ばっかりみたいですね。
52仕様書無しさん:04/07/15 01:10
研究系は自分さえ読めればいいからな。
53仕様書無しさん:04/07/15 01:33
>>46
デザインパターンに心奪われるやつはその本を読もうとしない罠!
たぶん本を読み始めた一言目が「Cかよ!なんでJavaじゃねーんだよ、
わかんねーよ、くそだなこの本!」だと思われ。

>>50
第一人者となればそうだよなぁ、デザインパターンをやっと見つけた
必殺技みたいに思ってるやつはまさに初心者といわざるをえない。
ここで言ってるいわゆるデザインパターンとは"整理"するものだからな。
「ほー、こうやって分類しておけばいいんだな」と、そのくらいのものだよな。
54仕様書無しさん:04/07/15 01:33
意思伝達のための、共通認識が存在する単語が増えるのは良いことだ。
55仕様書無しさん:04/07/15 01:48
GoFを一通り読んだ後、「パターンハッチング」を読むといい。
56仕様書無しさん:04/07/18 09:12
>>48
> つまり自分でゼロから生み出す能力が無い人が使うHowTo本みたい
> なもんですね。

で、お前はどんなものをゼロから生み出すことができたんだ?
「独創性」と称して何もできない奴に限ってそういう偉そうなことを言うもんだ。
お前にはこの本を読ませてやりてえな。

「バカの壁」
http://www.amazon.co.jp/exec/obidos/ASIN/4106100037/250-7193262-0133047

この本に、おまえがよくしでかすような「独創性」「個性」に対する誤解についてよく述べられている。
汚い、読みにくい、拡張性が無い、移植性が悪い、汎用性が無い、再利用性が低い、開発効率が
悪い、顧客や他の開発者に迷惑をかけるようなバグだらけのスパゲティコードを書くことが
「自分でゼロから生み出す能力がある」と勘違いして逃げる奴の前例が今までに腐るほどあるからな。


日本語を使って仕事をすべきところを、日本語しか使う必要がないところで
独創性と称して、わざと韓国語やバスク語で会話したり説明することが「個性」と勘違いしている迷惑バカと一緒だなお前は。

おまえがなんでもかんでも本当にゼロから生み出すことができるというなら
フレームワークもライブラリもプログラミング言語もゼロから作ってみろ。
おっと、プログラミング言語をつくるときにyacc/flexなんてもは使用禁止だぜ。
ゼロから生み出す能力があるならそんなものに頼らずにプログラミング言語をつくれるんだろ?
お前はそういったはずだよな? そうなんだろ?
そしてゼロから生み出す能力があるならコンピュータを使わずにものをつくってみろよ。
コンピュータも自分のゼロから生み出す能力で作ってから使えよ。
コンピュータを作る部品、半導体などの素子も店で買うのではなく自分のゼロから生み出す能力で作れよ。
もちろんそれらの半導体をつくる素材も工場なんかつかってつくるなよ。
57仕様書無しさん:04/07/18 09:16
ま、お前( >>48 )の論理では

   「自分でゼロから生み出す能力が無い人」=「工場に頼ってものを作る人」

だからな。

それらをゼロから生み出す気があるなら半導体を作る原料も全部自然界から自分で採取して来いよ。
「自分でゼロから生み出す能力がある奴はHOWTO本なんて道具なんかに頼らないんだろ(藁
道具に頼らずに素手で採取して来いよw

それと、通勤にも電車なんか使うなよw
どうしても電車という「資本」を使いたければ自力で鉄道を敷設して電車を作ってから通勤しろよw
鉄道のメンテナンス、管理もすべてお前だけのゼロから生み出す能力だけでやれよw

さもないとお前自身がお前の言う、「自分でゼロから生み出す能力が無い人」と見なされるぞw
原料を採取するときも道具なんかに頼るなよw
58仕様書無しさん:04/07/18 09:31
>>57
主張したいことは正しいけど、電車のたとえはちょっとアレだね
59仕様書無しさん:04/07/18 09:31
>>53
> >>46
> デザインパターンに心奪われるやつはその本を読もうとしない罠!
> たぶん本を読み始めた一言目が「Cかよ!なんでJavaじゃねーんだよ、
> わかんねーよ、くそだなこの本!」だと思われ。
馬鹿馬鹿しい詭弁だな。あの本がスパゲティコードで埋め尽くされているわけじゃあるまいし。
Java使いでデザインパターンを使おうとする者の大半は
C, Unix経験者だ。C/C++コードが読めないと言うことはありえない。ちょと読みにくいだけだ。
スパゲティコードリーディングという名の本ではあるまいし
基本的な記法を知っていれば全然苦にならない。
そもそも、読んでためになるソースコードはスパゲティコードなんぞにはなりえないからな。


それ以外でJavaを使っている香具師の大半は
嫌々ながら仕事でJavaをやらされているだけのServlet初心者だ。

> >>50
> 第一人者となればそうだよなぁ、デザインパターンをやっと見つけた
> 必殺技みたいに思ってるやつはまさに初心者といわざるをえない。

しかしそのデザインパターンをろくに使いこなせない香具師が多いのも事実だが。
ここであのパターンをつかってくれればこちらもそのクラスを使いやすくできるのに、
なんでこんな効率の悪いことをやっているんだ、他のクラスでラップするのは禁止されているし
一ヶ所を変更するたびに結局コピー&Pasteを繰り返しか、
って何度思ったことか。

クラスやメソッドのアクセス権の効率のよい使い方も知らずに勘違いしている者がどれだけ多いことか。
60仕様書無しさん:04/07/18 09:40

「吸収合併サービスに最適な開発言語はJava」

採用すると漏れなく吸収合併されちゃうという最強言語Java
について語り合いましょう




61仕様書無しさん:04/07/18 09:43
>>58
電車と「資本」の喩えは「巨富を築くための13の条件」にも載っている。
つまり一人でなんでもできるなら資本には頼らないってことだ。
もちろん電車でなくても車でいくとしてもだ。
一人でなんでもできるなら車を買って運転することもおかしい。
そしてガソリンスタンドでガソリンを補給して貰うこともおかしい。
本当に一人でなんでもできる、ゼロからなんでも生み出すことができるなら
イラク、サウジアラビアに自力で石油を採取しに行くものだ。
そして、一人でなんでもできると言い切るなら
車が通る道も国や地方自治体に任せずにすべて自分でメンテナンスするものだ。

資本主義社会は誰かさんの想像する社会と違って一人だけでは何もできない社会構造になっているのだ。
つねにお互いに協力し合っている。人にものを頼むときは自分の中からお金、時間など何かを犠牲にして取引をする。

つまりゼロからなんでも間でも生み出すことができる奴なんてこの世に一人もいないということだ。
アインシュタインの理論だってそうだ。相対性理論はゼロから生み出されたものではない。
事前にニュートン力学、電磁気学などを模倣するところから生まれたものだ。
もちろん、これらの理論は数学無くしては語れない。
数学すらも使わずにこれらの理論をゼロから生み出すことなど不可能だ!

ゼロから生み出すことにやたらと拘る奴はやたらと使えないOSやプログラミング言語を乱立させて
互換性問題で他人に迷惑をかける。変な形のネジを大量生産されたらネジの形が共通規格に合わず
作業効率が悪化するだろう。

昔の銃器の大量生産に喩えて貰いたい。銃器は昔は職人が作っていた。
そのため銃器の形状、サイズ、銃器に使える弾薬の形状、サイズはそれぞれ異なり互換性がないものとなった。
それだけでなく巨大な軍隊を変性するには大量生産できず効率が悪すぎた。
そこで銃器、弾薬の雛形を発明する者が現れた。それにより職人に頼らずに銃器を大量生産することができ
巨大な軍隊を素早く変成することが可能となった。
62仕様書無しさん:04/07/18 16:15
>>56
へー。面白そうな本だな。
何々・・・

>知りたくないことは自主的に情報を遮断し、耳を貸さないというのも「バカの壁」の一種。
>その延長線上には "オブジェクト指向" があるという。
63仕様書無しさん:04/07/18 20:02
>>62
あほだろ。実際はこうだろ。

>知りたくないことは自主的に情報を遮断し、耳を貸さないというのも「バカの壁」の一種。
>その延長線上には "スパゲティコードによる後継者霍乱" があるという。
64仕様書無しさん:04/07/19 01:50
なんか粘着してる奴が居るが、言語仕様については
ANSIなりSunなりの定義に従うのは当然だが、その上でのアプリの構造に対しては
制限される必要ないのは当たり前だろ?
自分で多少考えて一からくみ上げていこうという努力を
極論で否定しようとする>>56の意図はなんなんだ?
65仕様書無しさん:04/07/19 10:44
つか、1の言いたいデザインパターンのすばらしいところって
「オブジェクト間のつながりを疎にして再利用性を増やそう」っていう
コードの作りに関する考え方にあるんじゃなかろうかと提案してみるテスト。

ただObject指向だとこの考え方があまり無いが、
デザインパターンが登場してからと言うもののオブジェクト間を”疎にする”っていうのは
よく考えられるようになったかと思う。
66仕様書無しさん:04/07/19 11:20
疎にしないとうまくいかないなんて経験則なんざ、モジュール化が叫ばれてた時代からあった。
「オブジェクト指向の落とし穴」ぐらい読め。
67仕様書無しさん:04/07/19 16:31
68仕様書無しさん:04/07/19 18:03
うるせー!ちんこ燃やすぞ!
69仕様書無しさん:04/07/19 19:24
>>63
いや、それは曲解が過ぎる。>>63 は自分でも文章として「おかしい」と感じないか
養老孟司は長年プログラマが身に着けてきた「問題を分割せよ」という深遠な智慧に
「待った」をかけたのだ。

「そんな態度は役にたたんよ・・・」と。

彼は脳みそ屋さんだからそう感じたのかも知れないけど、
プログラマからみたら噴飯物の考え方だね。

で、その回答がこれだってさ。。。

http://www.worldtimes.co.jp/syohyou/bk040510-2.html

一言だけ私見を述べさせてもらえれば、古今東西、
Memento Mori を謳う学者にロクな奴がいた例はないね。
(↑バカの壁の見本ともいう)
70仕様書無しさん:04/07/19 19:26
うるせー!ちんこ燃やすぞ!
71仕様書無しさん:04/07/19 19:36
>>65
なんで疎結合の考え方がオブジェクト指向に無かったなんて言うのか…。
疎結合にするってのは、オブジェクト指向の背骨みたいなもんだろ。


72仕様書無しさん:04/07/19 19:40
>>71
いちいち学生の書き込みに反応してると体壊すよ。
73仕様書無しさん:04/07/19 22:17
>>69
単なる「要素還元主義の限界」の指摘ではないのか
74仕様書無しさん:04/07/19 23:16
>>69
学者だから問題点を指摘するだけで済んでしまう。
現場に生きる人間には問題の解決策こそが必要なのに。

で、その回答がこれだってさ。。。

http://www.worldtimes.co.jp/syohyou/bk040510-2.html
75仕様書無しさん:04/07/20 15:51
Javaにしろデザインパターンにしろ、何で宗教じみた
スレが多いの?

マジでキモイつうの。
76仕様書無しさん:04/07/21 03:29
>>75

えっ!
Java、デザインパターン、宗教とくれば結城さんのことか?
キモイは言いすぎだぞ、キミィ。
77仕様書無しさん:04/07/24 21:11
>>64
> 自分で多少考えて一からくみ上げていこうという努力を
> 極論で否定しようとする>>56の意図はなんなんだ?

だれも否定していないが、「独創性」の意味を勘違いしているバカ
がわんさかいるからな。ウザイんだよ。独創性だ独創性だと言っておきながら
自分は一人で一から何も作れず過去に作ったものにたよっているくせに
全部一人で一から作れと説教垂れる糞ジジイが。
78仕様書無しさん:04/07/24 21:29
>>69
> いや、それは曲解が過ぎる。>>63 は自分でも文章として「おかしい」と感じないか
>>62の喩えも十分おかしいと感じないか?

> 養老孟司は長年プログラマが身に着けてきた「問題を分割せよ」という深遠な智慧に
> 「待った」をかけたのだ。
お前は養老孟司の意図を勝手に曲解しているだけか。

> 「そんな態度は役にたたんよ・・・」と。
> 彼は脳みそ屋さんだからそう感じたのかも知れないけど、
> プログラマからみたら噴飯物の考え方だね。
嘘付けアフォ。解剖学者なんだよ。

> 一言だけ私見を述べさせてもらえれば、古今東西、
> Memento Mori を謳う学者にロクな奴がいた例はないね。
だれがそう謳っていたんだ?
MementoというからMementoパターンのことかと思ったぞ。
79仕様書無しさん:04/07/24 21:29
>>69
おまへは「死の壁」を読んでいないだろ。
自分とは何かということをよく解っていない。
自分とはつねに変化するものであり、過去の自分と今の自分とは
まったく違うのに「本当の自分はこうじゃない」と叫んでいるこ
とがおかしいといっているだけなんだよ。
情報という記憶だけが残ったためにそれに流されてしまって
いることに気づくけといっているんだよ。
コンピュータを扱っているなら記録を簡単に残せることくらい解るだろう。
しかし自然界にあるもはつねに変化し移り変わってゆく。
文明社会ではそれがない。
我々は情報工学というテクノロジを使って仕事をしている。
そこで文明社会にいるプログラマがどうすればいいかを
かんがえるべきなんだ。考えられることはいくらでもある。
プログラムは消すか修正するかしないかぎり消えない。

彼は「現実を見ろ」と言いたいだけなんだよ。
「死」を「バグ」に置き換えてみよ。
お前には「バグの壁」が潜んでいるんじゃないのか?
バグなど絶対に存在しないという原理主義を唱えて現実逃避し例外処理対策、
テストプログラミングを怠っているんじゃないだろうか?

80仕様書無しさん:04/07/24 21:32
>>75
「Java言語によるデザインパターン入門」の著者、
結城浩はキリスト京都だから

Java言語による主の祈り

結城浩
http://www.hyuki.com/prayer/prayjava.html
81仕様書無しさん:04/07/24 22:35
>>79
>彼は「現実を見ろ」と言いたいだけなんだよ。

いいや違うね。彼が言いたいのは

「皆、俺を見てくれ。
皆、俺が眺めるように死体を見てくれ。
それこそが現実であり、全てなのだから・・・」

って事。

何故、「バカの壁」等という世の中の普遍的な問題に対する解答に、
彼の飯の種である「死(=死体)」なんてものが関わってくるんだ?
偶然にしては余りに「出来過ぎている」と感じないか?

COBOLer が全てのシステム構築には COBOL が最適だと考えてしまうように、
彼の脳内では「死」こそが全ての問題解決の万能薬になってしまっているのだろう。
そして COBOL と同じく、現代において「死」は社会から迫害されているのだから、
なおさら偏屈にもなる。

恐らく彼の「バカの壁」は「死体」の山で築かれているのだろうね。
82仕様書無しさん:04/07/24 23:17
>>78
養老孟司はCOBOLerみたいな古くさい考えは持たない方だぞ。

「NHKスペシャル 人体Ⅱ The Universe Within 驚異の小宇宙 脳と心」
を見たか?


バカの壁を構築しているのはまさにお前じゃないのか?
83仕様書無しさん:04/07/24 23:21
>>82
ならば、これに対して回答してくれ。

>何故、「バカの壁」等という世の中の普遍的な問題に対する解答に、
>彼の飯の種である「死(=死体)」なんてものが関わってくるんだ?
>偶然にしては余りに「出来過ぎている」と感じないか?
84仕様書無しさん:04/07/25 14:59
このすれホントきもい。まぁ、スレタイからしてキモイから仕方ないんだろうけど。
85仕様書無しさん:04/07/26 00:35
>>83
彼が人体解剖を通して死というものを良く見てきたからだろう。
すでにそこでも述べられていると思うが

死ぬってことは当たり前のことなんだよ。
それを受け止める事ができない者がいて、そういう輩が原理主義に走る。

86仕様書無しさん:04/07/26 06:31
>>85
>彼が人体解剖を通して死というものを良く見てきたからだろう。

ならば、もし彼が産婦人科だったなら、
「バカの壁」等という世の中の普遍的な問題に対する解答は
「出産」になるのか?

世界は彼を中心に廻っているのか?
87仕様書無しさん:04/07/26 09:26
読んでもいねえ癖に厨uzeeeeeeeeee
とりあえず死の壁を嫁   
 
88仕様書無しさん:04/07/26 19:37
デザパタが美しいなんて、頭おか
89仕様書無しさん:04/07/26 23:25
>>87
そんなくだらん本は読む気になりませぬ。
90仕様書無しさん:04/07/27 00:00
デザインパターンはそもそもC++で書かれてたもので
Java厨よりちょっと偉い幹部くらいの人がUMLと共に流行らせた
91仕様書無しさん:04/07/27 05:51
だが、おまいはJava厨よりも下等で
そんなに偉くはないC++厨なわけだがわけだが。

92仕様書無しさん:04/07/27 06:01
>>81
> 恐らく彼の「バカの壁」は「死体」の山で築かれているのだろうね。

死体というのはいずれ腐り果て、土に還り、菌類の栄養素となり
植物に恵みをあたえ成長の手助けをする。
その植物が人間に恩恵をもたらす。

つまり、「バカの壁」、「死の壁」にも書いてあるとおり、
万物は流転するものなのだ。
このよに変わらないものなどない。すべてのものは生まれては成長し、
変わり行き、やがて老化しいつしか死んでゆく。
桜が散る姿をみてはかないと思ったときこそ、死を実感するときだ。

デザインパターンに対するあり方も進化してゆき、変わり行く。
この世に不変なものなど存在しない。不変なものとは情報(イデア)だけである。
オブジェクトは常に変化している。常に変わり行く。

C++厨も、過去の栄光を懐かしく思っている頃だろう。
あのころは良かった、昔はよかったと。あのころのはかない思い出、栄光の時代
にまた戻りたいと思っているだろう。だか、もうそのような栄光はC++厨には戻って来やしない。
C++厨の栄光も、桜の花びらのように散ってゆくのだから。
そして世の中は移り変わりC++の時代に終止符が打たれるのだ……………。
93仕様書無しさん:04/07/27 06:19
>>91
Java厨ごときが何ほざいてるの?
94仕様書無しさん:04/07/27 06:25
「万物は流転する」という法則そのものは流転するまい。
95仕様書無しさん:04/07/27 19:22
>>93
枯れ桜の如く散ってゆくC++厨ごときが何ほざいているの?
96仕様書無しさん:04/07/27 19:27
Java厨でもありC++厨の俺が言いたいことはただ一つ。




みんな仲良くしてぇーーーーーーーーーーーーーーーーーっ!


97仕様書無しさん:04/07/27 19:32
>>95
> 枯れ桜の如く散ってゆく
君の人生がでしょ?Java厨なんかやってるからだよ
98仕様書無しさん:04/07/27 19:37
俺はmementパターンしか使わねえぜ
99仕様書無しさん:04/07/27 19:39
>>98
デザパタは糞あたりまえな実装法に名前を付けて意思の疎通をしやすくしたもの。
パターンを知らないだけで似たようなことは彼方此方でやってるはず。
100仕様書無しさん:04/07/27 19:49
>>97
いや、君の人生を象徴しているんだよ。 
自称C++厨なただのC厨なんかやってるからだよ。
101仕様書無しさん:04/07/27 19:49
>>99
似たようなことをやっているよに見えて実際に覗いてみると
拡張性がなかったりクラス間の依存関係が非常に濃密になって使い勝手がわるかったりするんだよな。
102仕様書無しさん:04/07/27 19:54
>>100
Java厨ごときがプログラマ名乗るなんてお江戸なら切腹ものだぞ。
負け組み能無しコーダはへこへこしてりゃいいんだよw
103仕様書無しさん:04/07/27 20:03
>>101
お前は何が言いたいんだ?
ただデザインパターンを軽んじられる発言が許せないだけなのか?
お前みたいな奴が一番使えねぇ。
104仕様書無しさん:04/07/27 20:19
>>102
お前、本当にカルシウムたりないな。
病気だろ。
105仕様書無しさん:04/07/27 20:22
>>104
おう。尿酸値が高い。
106仕様書無しさん:04/07/28 01:45
なあ、コボラーあがりのJava厨には別の呼び名をつけようぜ。
107仕様書無しさん:04/07/28 01:48
>>106
コJavaラー
108仕様書無しさん:04/07/28 01:49
>>106
Java酎でいい?
109仕様書無しさん:04/07/28 01:51
Javaの評判を落としてる諸悪の根源はコJavaラーにあると思う。
110仕様書無しさん:04/07/28 01:53
>>109
PGの評判を落としてるのはお前だな(w
111仕様書無しさん:04/07/28 01:56
やっぱJabolでしょ。
112仕様書無しさん:04/07/28 01:59
JABOLer
113仕様書無しさん:04/07/28 23:54
オレはCからVB果てはオラクルまで完璧だぜ
114仕様書無しさん:04/07/29 08:43
VBあがりのC#厨はさらにプログラマの評判をおとしていることだろう。
これは確実だ
115仕様書無しさん:04/08/08 22:20
やたらと関数をstaticにせず、
ちゃんとデザインパターンを駆使してプログラミングしましょう。
116仕様書無しさん:04/08/08 23:58
>>115
VB.NETで全部Moduleにしろと、怒られた(´・ω・`)ショボーン
117仕様書無しさん:04/08/12 17:10
>>115
やたら程度じゃねぇよ
全部 static だったよ

もうね、アホかt・・・
118仕様書無しさん:04/08/12 19:12
>>1
もう究極かよ、君の人生も終わったな.
119仕様書無しさん:04/08/12 22:45
>>117
それだけならまだいい。
統一性の名の元に全員にそれをやれと
言われた日にゃ・・・
120仕様書無しさん:04/08/16 00:24
>>116
VBしか出来ない会社の上司って
どうしてあんなにアホなんだろうな。
121仕様書無しさん:04/08/25 19:57
リファクタリングしまくれば自然と理想の設計に近付くよ
122仕様書無しさん:04/08/25 20:06
>>121
リファクタリングしまくれることが理想だ。
123仕様書無しさん:04/08/25 20:11
>>116, 120
知ってる、知ってる!
その場凌ぎのプログラミングしかしたことないからだよ!
納期にさえ間に合って、とりあえず落ちなければ満足なんだよ!
きれいなコーディングやリファクタリングなんて、コストの無駄としか思ってないんだよ!
(正確には、そんな単語すら知らないんだよ!)
124仕様書無しさん:04/08/25 22:02
ところで、デザインパターンというとIteratorばっかりさも便利かの
ように語るやついないか?
思わず「それしか知らないんだろ?」と言いたくなる。っていうか
言ってしまった・・・
125仕様書無しさん:04/08/25 23:05
>>124
Iteratorだけを語る奴はデザインパターン知らないんだよ。
JavaのAPIとしてのIteratorを語ってるんだよ。
126仕様書無しさん:04/08/26 02:28
C++のSTLとしてのIterator程度しか語れない香具師もいるが
127仕様書無しさん:04/08/27 01:32
単なるクラス設計上のテクニックにグレードの上下もないは思うが、
なんとなく凄いパターンって言うと、Composite+Visitorとかじゃないかな。


不適切な位置で使われている事が一番多いのは、Singletonかな?
つうか、それ以外が現場で使われていることにめぐり合うことって少ないけどさ。
128仕様書無しさん:04/08/29 01:13
>>127
もうちっと消化すれば色んな所で色んな使い方が出来るよ。
つーかフレームワーク使うだけでパターンの宝庫な訳だが。
129仕様書無しさん:04/08/29 03:02
ポリモーフィズム使うと、わかりにくいって言われるんだけど。
動的に流れが変わるのが嫌だって言うんだけど、よくよく
考えてみりゃ、if文だって同じじゃねーか。
130仕様書無しさん:04/08/29 03:42
まぁわかりづらいはわかりづらいよなぁ
if文のような明快な目印はないわけだから
131仕様書無しさん:04/08/29 09:00
目印というよりは、ifやswitchは動的に変わるところが一箇所に集中するのが、
ポリモだと分散する。あきらかに一箇所に集中した方が分かりやすい。
関数ポインタとか、コールバック関数とかが分かりにくいのと本質一緒。
特にenumによるswitchは非常に分かりやすい究極の美。
132仕様書無しさん:04/08/29 15:21
>>131

>目印というよりは、ifやswitchは動的に変わるところが一箇所に
>集中するのが、ポリモだと分散する。

逆じゃない?
ポリモフィズムだと、インスタンス生成時に分岐があるだけで良く
て、あとはインスタンスごとに振る舞いが定義されているから
呼び出し側は(振る舞いが異なっても)同一メソッドを呼ぶことが可能。
if文はメソッド呼出しごとに分岐しなきゃならない。

133仕様書無しさん:04/08/29 19:42
>>132
>>131は実装が各派生クラスに分散するって言ってるんじゃないのか?
134仕様書無しさん:04/08/29 19:43
131は釣りだろ?
マジレスだったら爆笑するぜ
135仕様書無しさん:04/08/29 21:23
ifとかswitchだとstateパターンか。
136仕様書無しさん:04/08/29 22:38
stateってifいらないじゃん
137仕様書無しさん:04/08/29 23:26
分かりやすさ云々で言えば、>>130-131に禿同だな。
それでも複雑になればなるほどポリモ使うのがベスト。
OOの目的はわかりやすさじゃないからな。

>>134
ちゃんと勉強しろよ。
138仕様書無しさん:04/08/29 23:31
なんかOO信者って、必死で、ifとかswitchをクラスに置き換えてるのな。
ポリモフィズム覚えたばっかで使いたいのは分かるけど、キモいな。
139仕様書無しさん:04/08/29 23:44
ifやswitchはクラスに置き換えないだろう。
140仕様書無しさん:04/08/30 00:41
どう考えても>>131の言ってることはオカシイのに、それを支持するやつがいるってことはジサクジエンなんだろうな…。
141仕様書無しさん:04/08/30 01:02
>>140
妄想OO信者キモいな。
絶対こいつJava厨だな。
デザパタって結城を筆頭にJava厨多いから嫌いだ。
142仕様書無しさん:04/08/30 01:22
次はforループ使うよりgotoループした方がいかに美しいかについての議論でもする?
143仕様書無しさん:04/08/30 02:00
ifやswitchだと、「ここは分岐だよ、分岐先はこれとこれとこれだよ」ってのが
全部固まってるんだけど、ポリモするとそれを推測するのにちょっと手間と知識がいる。
だから、ifやswitchがわかりやすいってのは事実だと思うよ。
ifとswitchならバカでも一応理解できるし(というか、ポリモーフィズムわからない奴多すぎ)。
ただ、else ifやcaseが10も20もあるソース読まされると、書いた奴の首しめたくなるね。
144仕様書無しさん:04/08/30 04:59
インターフェースのドキュメントなしで多胎されてもよみづれーだけなんだよ!
145仕様書無しさん:04/08/30 06:15
>>140
>>131を支持しているやつなんていないけど?
146仕様書無しさん:04/08/30 23:51
なんで多態が分岐なんだ?
タイプコードによる分岐を多態で置き換えるリファクタリングはあるけどな。

・if や switch がないほうが理解しやすい
・多態するためのinterfaceを実装したクラスは、if の中身さえ実行すればよい(=一つのことをしっかりやる)
・interface とやりとりするクライアントは、単純にサービスを依頼すればよい

どれも正しいし、当たり前だ。
なぜ分かりにくいんだ?
147仕様書無しさん:04/08/31 00:03
正直、判り易さ云々で議論してる限り、処理追っかけ廚は絶対に納得できないんだよね。
ここは素直に
・条件分岐が増えれば、バグが混入される確率も跳ね上がる
だけでいいんじゃない?
これさえ否定するアホ?知らんわ
148仕様書無しさん:04/08/31 00:59
相変わらず、Java厨馬鹿ばっかだな。
世間的に馬鹿扱いされている事にJava厨は気づいてないんだよな。
149仕様書無しさん:04/08/31 01:17
まぁまぁ、とりあえず>>131だけがアフォだったってことで…。

150仕様書無しさん:04/08/31 17:19
純粋に、クラス(131風ならenum)が一個増えたときの
追加分の処理を書くのがポリモーフィズムは楽

楽というか既存部分はそのままで、追加クラスの定義だけ書けばよい
switchだと全部のswitchにcase増やすはめになり
中規模以上では泣く
151仕様書無しさん:04/08/31 17:20
しかし、全クラスにメソッドを一個追加するときは
ポリモーフィズムだと泣きたくなるのも事実w
152仕様書無しさん:04/08/31 17:49
スーパークラスにかいとけ。
153仕様書無しさん:04/08/31 17:54
ifやswitchの方が判りやすいという意見も判ります。

フローチャートのようにソースを読めて
あらかたの仕様が把握出来るから
ドキュメントが貧弱な所につっこまれて
デバグする時とかは確かに楽ですね。

クラスがいっぱいあるとあっち開いたり
こっち開いたりしなきゃいけない。

ただ、「可読性」と「変更に強い設計」とは全く別の話ですね。

フローチャート的な頭の使い方からオブジェクト指向的な
方へ変えないといかんのでしょうな。
面倒臭がらずに、あっち開いたりこっち開いたりして
頭の中で処理をイメージ出来るようにする、と。
154仕様書無しさん:04/08/31 17:58
>>151
デフォルトの実装用意すればいいじゃん。
そもそも同等の修正をswitch caseで書いたコードに行うと泣かなくて済むのか?
155仕様書無しさん:04/08/31 19:49
デフォルトの実装なんざ書きようがないメソッドを
多数のクラスに追加することなんざ
普通にあることだろうが

当然、スーパークラスには純仮想メソッドが追加されて
各サブクラスでクラスタイプごとに違う動作を実装
156仕様書無しさん:04/08/31 19:51
これが、switchタイプの実装なら
switch文でタイプごとに分岐する関数を一個書けばすむから
幾分楽になるわけ

どんな状況でも、OOの方が従来型より保守性に優れるわけじゃないってこと
157仕様書無しさん:04/08/31 20:35
要するに、区分を
ひとつのクラスの属性として持つか、
サブクラスを区分の数だけずらっと用意するか
ですよね。

良い悪いは場合によりけりでしょうね。
それを見極めて使い分けるセンスが
一番必要なんじゃないでしょうか。
それがないからなんでもOO、
なんでもif switch って事になって
両方から文句が出る。

書いてみたものの、
正論は何時だってつまんないですな。
158仕様書無しさん:04/08/31 21:29
if,switch と OO が対立してるのがよくわからん
159仕様書無しさん:04/08/31 21:40
>>156は両方出来るオブジェクト指向型言語を使いましょう!
オブジェクト指向マンセー!と言ってるんです。
160仕様書無しさん:04/09/01 00:20
>>156
それクラス設計が悪いだけだよ。
何をどうやってクラスとしてまとめるかが分かってない人が設計するとそうなる。
161仕様書無しさん:04/09/01 00:48
再点火乙!
162仕様書無しさん:04/09/01 01:15
結論は、Javaは糞で、OO厨は何が真分かりやすいかを理解していない糞ってことだな。

>>160
こういうこと書いてる奴のクラス設計が最悪なのに、自分では最高だとか思ってるんだな。
163仕様書無しさん:04/09/01 01:16
再再点火乙!
164仕様書無しさん:04/09/01 07:24
>>162
エスパー乙
165仕様書無しさん:04/09/01 11:56
扱ってる問題の規模や複雑さによって最適解が変わるんじゃないかな。
結局OOやパターンやフレームワークより大事なのはシンプルデザインだと思う。
166仕様書無しさん:04/09/01 12:56
>>156
100行のメソッドを1つ書くのと10行のメソッドを10個書くのとどっちがいいかという話か。
167仕様書無しさん:04/09/01 13:14
>>166
ポリモーフィズムうんぬんからいうと、
100行のメソッドを1つ書くのと
10行のメソッドをもつクラスを10個書くのと
どっちがいいかという話ですか。
168仕様書無しさん:04/09/01 21:23
みんな落ち着けよ、とりあえず>>131だけがアフォだったってことで…。
169仕様書無しさん:04/09/01 22:07
まぁ131がアフォだという事実は
131以外はみんな同意するところだろう。
170仕様書無しさん:04/09/01 23:43
>>131は、すべてのものが自分のスコープにあっても大丈夫な、スーパーな人間なんだよ。
171仕様書無しさん:04/09/02 02:21
>>166
まあそういうこと
C++だと、さらに10個のヘッダーファイルも修正だから
純粋にまんどくせえ
172仕様書無しさん:04/09/02 07:07
>>171
1関数1ファイル主義者かよ!
173仕様書無しさん:04/09/03 00:55
>>171
だな。Java厨はアフォだからそれが分からないと。
てか、Java厨ってプログラム経験がないんだろうな。
174仕様書無しさん:04/09/03 00:57
しかし、Java厨ってなんでもかんでもデザパタだからほんと困るよな。
結城の馬鹿本かってしたり顔かよ。
175仕様書無しさん:04/09/03 01:57
だからおちつけって、とりあえず>>131だけがアフォだったってことで…。
176仕様書無しさん:04/09/04 01:52
つか、お前らアフォばっかだろ。
デザパタ関係ないじゃん。
Java厨、Java厨って、確かに無能な香具師多いが、お前らより結城の方が有能だな。
本はどうしようもないが。
177仕様書無しさん:04/09/04 18:35
>>171
ヘッダーファイル10個修正?意味不明

こんな電波に同意してる>>173は自演確定?
178仕様書無しさん:04/09/05 00:21
1クラス、1ヘッダーって普通じゃねえのか?
クラスが10個あって、それらにメソッドを1つづつ追加したら
10ファイル変更が普通かと思うが
179仕様書無しさん:04/09/05 00:55
>>178

スーパークラスにメソッド1つ追加しただけで、
サブクラスのヘッダにまでメソッド追加作業が波及するか?
コンパイル時には依存が発生するけどさ。
180仕様書無しさん:04/09/05 01:11
お前等JavaとEclipse使ってください。
くだらない悩みから開放されますよ。
181仕様書無しさん:04/09/05 01:50
スーパークラスに純仮想関数宣言
サブクラスに仮想関数の宣言
両方必要だと思うが?
182仕様書無しさん:04/09/05 04:25
気にするな。
たぶんC++をろくに知らない"Javaだけ厨"だろ。
183仕様書無しさん:04/09/05 10:22
>>178
普通じゃないし、そもそもソースでクラス定義するときもある。
お前C++ろくに知ってないC厨だろ?
184仕様書無しさん:04/09/05 16:36
>>183
待て。
1クラスにつきh&cpp1組ってのは基本だろ。

クラス内で利用するクラスを.hに同時に定義することも「たまに」あるが、
今回例に挙がってるような場合では分けるだろ。

お前がよっぽど汚いちゃんぽんソース書いてるなら別だが。
185仕様書無しさん:04/09/05 21:35
184に同意。
>ソースでクラス定義するときもある。
は俺はやらないが、そもそも183だって「普通に」は
やらんだろ。それが普通なら只のバカ。
186仕様書無しさん:04/09/05 21:44
>>184
そりゃ公開するような独り立ちするクラスならファイルわけるだろうさ。
だがこれは公開しないクラスだぞ?
あるクラスの内部でひっそりと使われるクラスをなんでわざわざ別ファイルに書くよ?

>>185
簡単な、そこだけで使う関数オブジェクトとか普通に定義しまくってるが?
クロージャ感覚だな。関数内で定義したいがそうするとテンプレートに渡せないからムカツクが。
187仕様書無しさん:04/09/05 22:13
・・・デザインパターンって、設計パターンだよな。
188仕様書無しさん:04/09/05 22:33
>186
だからバカ。
どこが?ではなくて全文バカ。
189仕様書無しさん:04/09/05 22:36
>>188
お前は全レスがバカだよなw
190仕様書無しさん:04/09/05 23:02
「あるクラスの内部でひっそりと使われるクラス」や「簡単な、そこだけで使う関数オブジェクト」
の話をしてるのはお前だけだということに気づいたほうがいいぞw
191仕様書無しさん:04/09/06 03:36
クラスが10あったら、そのうちの一個ぐらいは、cppの中に定義されていたり
クラス内クラスだったりすると言いたいのかな?

そういう統計的な話は、全くしていないわけだが
192仕様書無しさん:04/09/06 23:28
内部クラス沢山作る奴って協調性なさそう。
193仕様書無しさん:04/09/06 23:39
インターフェイスとかパッケージングとか知らんのか(-_-;
194仕様書無しさん:04/09/06 23:54
内部クラス=inner class
インターフェイスとかパッケージングとかは別次元の話
195仕様書無しさん:04/09/07 00:41
>>192,194
こういうヤツラが構造化言語いじると
関数全部公開モジュールとか作り込むんだろうな。
196仕様書無しさん:04/09/08 18:10
>>195
うちのプロジェクトでは、hoge.c で static int foo() を定義して、hoge.h で
static int foo(); と宣言している。
197仕様書無しさん:04/09/09 01:06
まともなプロジェクトでhogeとかfooとか使う奴はパターン以前の問題。
あ、>>196じゃなくてウチの先輩ね。
198仕様書無しさん:04/09/09 03:42
ヲイヲイ。そこは実際には別の名前に置き換わってるだろ?普通。

・・・ハッ
釣られたか?
199仕様書無しさん:04/09/09 04:21
>>198

バカだなぁ…。

>・・・ハッ
>釣られたか?

↑これがなかったらお前がツリをしたことになってたのに。
なんか一言、保険のための言葉なんか書いちゃって…、チキンハートだな。(笑)
200仕様書無しさん:04/09/09 11:44
>>196の本質は名前ではなくて static だと思うのだが。
201仕様書無しさん:04/09/09 12:00
>>200
他のソースから呼び出せない関数ね。
これが分かる椰子はC厨。JAVA厨では指摘できないとこだな。
202仕様書無しさん:04/09/09 18:56
>>196
何を自慢したいんだ?
それともツッコミ入れちゃってもいいのかな??

>>200
でわからない人もも一回勉強しなおせ~
203仕様書無しさん:04/09/09 23:50
>>202
うちのプロジェクトには「プロトタイプ宣言は .h に書く」というコーディング規約が
いにしえよりあって、もうどうしようもなくなっている。

204仕様書無しさん:04/09/11 00:20:37
くだらない規約は廃せ。
英雄になれるぞ。
205仕様書無しさん:04/09/11 02:36:35
定期的に改訂しなければ「規約」の名に値しない
のであるが
206仕様書無しさん:04/09/18 18:48:47
ヴィバ! デザインパターン!
207仕様書無しさん:04/09/18 20:42:16
>>203
プロトタイプ宣言は他のモジュールというかソースから参照するためのものを
書くものではないのか?違うのか?
# あ、~.h に書くプロトタイプ宣言の事ね。
208仕様書無しさん:04/09/19 00:33:13
>>207
次の現場入る前にstatic関数について調べておけ
209仕様書無しさん:04/09/19 01:43:23
>>208
だーかーらーたとえ規約でプロトタイプ宣言は~.hに書くことになってても、
staticなんかは普通適用外でしょ?って言いたかったんだが…

なんでstaticについて知らんことになるんだ?
210仕様書無しさん:04/09/19 11:33:48
【GoF】デザインパターン 3@プログラム板
http://pc5.2ch.net/test/read.cgi/tech/1095388499/l50
211仕様書無しさん:04/09/19 12:35:27
とりあえず>>203の会社はバカ会社のひとつということで
212仕様書無しさん:04/09/19 12:36:40
プロトタイプといえば
GoFデザインパターンの一種ProtoTypeパターンのことだな
213仕様書無しさん:04/09/21 01:18:55
デザパタスレっていつも厨ばかりだな。
214仕様書無しさん:04/09/23 13:30:35
じゃあどんなスレが厨が少ないスレだというのだ?
そもそも、お前みたいな厨が邪魔をしてばかりいるから
厨ばかりのすれに見えてしまうのだ。
いい加減にしろ
215仕様書無しさん:04/11/14 01:59:42
C厨ばかりって意味ではマ板は厨ばかりだけどね
216仕様書無しさん:04/11/14 03:17:06
とりあえず下の問題を解いてください(別のスレから拝借)
------------------------------------
次のプログラムは、食事をする人を表現しています。
このプログラムのEatingMan#eat()メソッドは、if~elseが連続していて長い上に、
新しい種類のFoodクラスを作成する度にコードを付け加える必要があります。
この問題を解決するように、プログラムを書き換えなさい。
なお、すべての食べ物について、その食べ方は1通りしかないものとします。
------------------------------------
class EatingMan{
  void eat(Food food){
    if(food instanceof Rice){
      // お箸を使ってfoodを食べる
    }
    else if(food instanceof Bread){
      // 手づかみでfoodを食べる
    }
    else if(food instanceof Steak){
      // ナイフとフォークを使ってfoodを食べる
    }
  }
}
abstract class Food{}
class Rice extends Food{]
class Bread extends Food{}
class Steak extends Food{}
217仕様書無しさん:04/11/14 05:21:49
>>216
でも、スレ違いですから。
218波田陽区:04/12/08 23:15:13
おれはプログラマー
オブジェクト指向は大得意
パターンだってお手の物
俺が設計すればコードもすっきりだ って言うじゃない?
でもあんたの会社 4層の下請けの最下層ですから! 残念!
規約でインターフェース作れない 斬り!
219仕様書無しさん:04/12/09 10:18:11
ギター侍ネタにはほんとにイライラ
うんざりさせられたここ数ヶ月だったが
218は面白いです。
220仕様書無しさん:04/12/10 17:47:49
そうだね。どうせソースコードの中身なんて

会 社 は 評 価 し て く れ な い
221仕様書無しさん:04/12/11 20:23:45
他人の三倍の速度で作っても、作業を追加されるだけで
給料にはあんまり反映されないしな。
それより上司と喫煙室で仲良くなって、飲み会でお世辞言ってる
方が100倍得になる。
222仕様書無しさん:04/12/26 18:33:19
ぱたーん
223仕様書無しさん:05/02/11 23:03:28
>>216の様に解くのって、実に自然だよな。
「食べ方」って言うのは、「食べ物」毎にあるんじゃない。
食べ物と、食べる人の「狭間」に存在するんだ。

そして、その狭間に存在する「食べ方」の内、どれを選択するのかは、
完全に食べる人にのみ、依存するのだ。
224過疎なので貼ってみる:05/02/12 00:48:04
interface EatingMethod {
    void perform(EatingMan man, Food food);
}
class ChopstickMethod implements EatingMethod {
    public void perform(EatingMan man, Food food) {
        System.out.println(man + " はお箸を使って " + food + " を食べる");
    }
}
class HandMethod implements EatingMethod {
    public void perform(EatingMan man, Food food) {
        System.out.println(man + " は手づかみで " + food + " を食べる");
    }
}
class KnifeForkMethod implements EatingMethod {
    public void perform(EatingMan man, Food food) {
        System.out.println(man + " はナイフとフォークを使って " + food + " を食べる");
    }
}
class MethodUnknown implements EatingMethod {
    public void perform(EatingMan man, Food food) {
        System.out.println(man + " は " + food + " の食べ方が分からない");
    }
}
class EatingMan {
    Map eatingMethods = new HashMap();
    MethodUnknown unknownMethod = new MethodUnknown();
    void eat(Food food) {
        if (food == null) {
            unknownMethod.perform(this, food);
            return;
        }
        Object o = eatingMethods.get(food.getClass());
225過疎なので貼ってみる:05/02/12 00:48:46
        EatingMethod method;
        if (o instanceof EatingMethod) {
            method = (EatingMethod) o;
        } else {
            method = unknownMethod;
        }
        method.perform(this, food);
    }
    void teachHowToEat(Class foodClass, EatingMethod method) {
        eatingMethods.put(foodClass, method);
    }
}
public class Main {
    public static void main(String[] args) {
        //誕生
        EatingMan man = new EatingMan();
        //教育
        man.teachHowToEat(Rice.class, new ChopstickMethod());
        man.teachHowToEat(Bread.class, new HandMethod());
        //man.teachHowToEat(Steak.class, new KnifeForkMethod());
        //料理
        Food rice = new Rice();
        Food bread = new Bread();
        Food steak = new Steak();
        //食事
      man.eat(rice);
      man.eat(bread);
      man.eat(steak);
      man.eat((Food) null);
  }
226仕様書無しさん:05/02/17 23:57:37
>>216
RatingManに以下のメソッドを追加。
void eat(Map foodMap){
 Iterator iterator = foodMap.iterator();
 Food food;
 while(iterator.hasNext()){
  food = (Food)iterator.next();
  food.eat();
 }
}

Foodクラスにabstract void eat()メソッドを追加。
それに従ってFoodのすべてのサブクラスにeat()メソッドを実装させる。
食べ方はif文内書いたものを書く。
これで、クラスを追加するたびにEatingManクラスにif文を追加する必要がなくなる。

必要に応じてwhileステートメント内にif文とbreakを付け加えよ。
227仕様書無しさん:05/02/18 16:44:37
Mapにはiterator()メソッドはない。
ここでは、Iterator iterator = foodMap.values().iterator() かな。

と書いてから、そもそもがMapじゃなくてCollectionが来るべきところのような気がしてきた。
228仕様書無しさん:05/02/18 20:06:16
STLみたいにキーと値のペアが取り出せるイテレータがあっても
いいのにね。
229仕様書無しさん:05/02/18 20:27:11
map.entrySet()
でMap.Entry (KeyとValueのペア)の集合が取れる。
230仕様書無しさん:05/02/23 08:30:35
>>223
>>216
>なお、すべての食べ物について、その食べ方は1通りしかないものとします。
っていうのは、言い換えると
「食べ方は、食べ物の種類ごとに決められていると考えてください」
っていうことを言いたいんだと思う。
231仕様書無しさん:05/02/23 22:44:28
>>230
てことは、>>224-225はオーバースペック?
232仕様書無しさん:05/03/13 00:11:45
>>228-229
> STLみたいにキーと値のペアが取り出せるイテレータがあっても
> いいのにね。
Jakarta Commons Collectionsにあるコレクションクラスを使うってのもありかもね
233仕様書無しさん:2005/06/03(金) 21:58:47
デザインパターンを首尾よく使えない言語は糞
234仕様書無しさん:2005/06/06(月) 19:15:25
いい本がない
235仕様書無しさん
age