2ちゃんねる スマホ用 ■掲示板に戻る■ 全部 1- 最新50    

■ このスレッドは過去ログ倉庫に格納されています

オブジェクト指向システムの設計 174

1 :デフォルトの名無しさん:2017/09/26(火) 07:20:38.98 ID:qu+DPehL.net
前スレ
オブジェクト指向システムの設計 172
http://mevius.2ch.net/test/read.cgi/tech/1467992113
オブジェクト指向システムの設計 173
http://mevius.2ch.net/test/read.cgi/tech/1502182334/

類似スレ
手続き型システムの設計 1
http://mevius.2ch.net/test/read.cgi/tech/1500282714

2 :デフォルトの名無しさん:2017/09/26(火) 07:21:32.78 ID:qu+DPehL.net
2getでオブジェクト指向消滅!

3 :デフォルトの名無しさん:2017/09/26(火) 14:21:52.30 ID:8TtfrkPc.net
デザパタ

4 :デフォルトの名無しさん:2017/09/26(火) 21:00:17.36 ID:XXa+nt+D.net
このスレは結局デザパタの話題になっちゃうの?

5 :デフォルトの名無しさん:2017/09/26(火) 21:28:18.31 ID:L4WBOAz6.net
デザパタとSmalltalkと…

6 :デフォルトの名無しさん:2017/09/26(火) 23:00:24.75 ID:wPSfJS/Y.net
smalltalk信者: 変化する環境に適応出来なかった絶滅種
デザパタ厨: 煽ることしか出来ない無能

次の患者、どうぞ

7 :デフォルトの名無しさん:2017/09/26(火) 23:21:32.01 ID:U5HCny0u.net
>>6
お前は何て病気?

8 :デフォルトの名無しさん:2017/09/26(火) 23:57:05.71 ID:wPSfJS/Y.net
無能な煽りは逆効果だとも分からないほど無能なんだな。

デザパタなんてイラネな俺がいくら無能でも、
デザパタを勉強する価値がある事にはならんだろ。
肝心のデザパタ厨が無能なんだから。
お前ら当たり前の論理も組み立てられないのな。

結局はデザパタ厨もやりすぎて手段が目的になってる。
上級者の実装パターンを学び、実装時にそれを生かすのが目的なのに、
デザパタの暗記が目的になり、undoすら実装出来ないのでは意味無いだろ。
しかも自分がその程度だと気付けてないのも救えない。

全スレ>>945は訂正しておく
・933の実力>>>デザパタ厨=自分がundoの実装すらマトモに出来ない事に気づけない

布教したいのなら、お前らがやるべき事は、
実装方式を悩んでいる初心者に対し、「そこは○○パターンで(キリッ」と丁寧に教えることであって、
いくら俺を叩いても意味無いだろ。
まあお前らにはこれをやる実力すらないわけだが。

9 :デフォルトの名無しさん:2017/09/27(水) 00:29:39.71 ID:jZ7EahtZ.net
全スレが泣いた

10 :デフォルトの名無しさん:2017/09/27(水) 00:46:50.85 ID:jZ7EahtZ.net
心の中では「まえスレ」

11 :デフォルトの名無しさん:2017/09/27(水) 01:46:12.14 ID:SJAHc9Lg.net
設計パターンなんていらない

12 :デフォルトの名無しさん:2017/09/27(水) 01:54:22.30 ID:SJAHc9Lg.net
アーキテクチャパターンもいらない子

13 :デフォルトの名無しさん:2017/09/27(水) 01:56:12.89 ID:SJAHc9Lg.net
>>8
で、なんでデザパタイラネなんだっけ?

14 :デフォルトの名無しさん:2017/09/27(水) 02:04:44.17 ID:SJAHc9Lg.net
前スレ見てきた

> デザパタの暗記が目的になり、undoすら実装出来ないのでは意味無い

とか言ってる人がいたから、デザパタ厨とアンチデザパタ厨で実装対決してたのかと思ったら、誰もなにも実装してなかった
なるほど、undoすら実装できない人同士で設計論を争ってるのか

15 :デフォルトの名無しさん:2017/09/27(水) 02:10:07.97 ID:60RbULmH.net
デザパタの持つ意味も理解してなければ
デザパタとundoの関係も理解してない人が
デザパタイラネと言ってたのが前スレ

16 :デフォルトの名無しさん:2017/09/27(水) 03:32:14.99 ID:jZ7EahtZ.net
undoするものがないのに何を実装するんだ
こいつundoさえわからないのか

17 :デフォルトの名無しさん:2017/09/27(水) 06:51:39.93 ID:mNYogTbA.net
どんなコンテナ概念も全部「それは構造体だから〜」にする
いつもの「自動車は馬なし馬車だから」さんが居たのは憶えてる。

18 :デフォルトの名無しさん:2017/09/27(水) 12:03:00.13 ID:OelTm3Fw.net
un, deux, trios

19 :デフォルトの名無しさん:2017/09/29(金) 01:04:50.43 ID:NSGi97+G.net
「注文」っていう動詞があったときに、
「振る舞い」と「操作」って何が違うんかな。

20 :デフォルトの名無しさん:2017/09/29(金) 01:17:44.77 ID:tjqo0EG6.net
>>19
主体が違うし、それがOOPの基礎でもある。
詳しくは優秀なつもりのデザパタ厨が説明してくれるのを待て。

21 :デフォルトの名無しさん:2017/09/29(金) 02:19:10.82 ID:RLeXl8wr.net
order.cancel() -> 注文の振る舞い
cancel(order) -> 注文に対する操作

ただしメソッドのことを操作と呼ぶ場合もあるから文脈による

22 :デフォルトの名無しさん:2017/09/29(金) 09:01:57.77 ID:hpSK5POk.net
>>19
注文のように振る舞うオブジェクトを他のオブジェクトが操作するんだよ

23 :デフォルトの名無しさん:2017/09/30(土) 01:29:46.30 ID:/jgYbdHq.net
だからデザパタってなんだよ
デザインパターンすら打つのが面倒くせえ奴はプログラミングなんかやめちまえ

24 :デフォルトの名無しさん:2017/09/30(土) 03:51:14.41 ID:rw2PNEGc.net
デザパタ

25 :デフォルトの名無しさん:2017/09/30(土) 06:58:20.29 ID:SiFkWGTC.net
面倒くさがりはプログラマに向いてるだろ

26 :デフォルトの名無しさん:2017/09/30(土) 07:00:21.91 ID:REKxOj2c.net
オブジェクト指向ができなくて悩んでいるのですが、アドバイスお願いします
例として商品は10種類まで、今はつり銭の概念が入ってくるとややこしくて考えられないので投入金額 = 価格のみ購入可能というすごいシンプルな飲料自動販売機を想定しています
フローとしては購入する()内で飲料型の商品変数のメンバ価格と投入金額を比較し、イコールだった場合在庫数を減らす()を呼ぶというふうに考えているのですがどうなのでしょうか?
また自販機がわかりづらい場合、他の例を出して頂ければそちらで設計しますのでお願いします

クラス図を貼っておきます
https://i.imgur.com/0Sthq5O.png

27 :デフォルトの名無しさん:2017/09/30(土) 07:13:23.68 ID:SiFkWGTC.net
どうなのって、正解があるわけじゃないから好きに作れよ
複雑そうなところはクラスの数を増やす、そうでないなら無理にクラス化しない
そういうことでどこまで作るかにもよるし
ユースケース図でも書け

28 :デフォルトの名無しさん:2017/09/30(土) 09:03:57.67 ID:kOdc4YYr.net
>>26
お前が何がわからないのかわからない

29 :デフォルトの名無しさん:2017/09/30(土) 09:04:38.47 ID:fdjE74yE.net
デザパタ デザパタ デザパタ デザパタ デザパタ デザパタ デザパタ デザパタ
デザパタ デザパタ デザパタ デザパタ デザパタ デザハタ デザパタ デザパタ
デザパタ デザパタ デザパタ デザパタデザパタ デザパタ デザパタ デザパタ

30 :デフォルトの名無しさん:2017/09/30(土) 10:19:36.24 ID:bL0j7tMv.net
デザパタ厨はこういう時こそ「○○パターンで!」とやるべきだろ。
そもそもデザパタ厨ですら全く使わない(=見かけない)から最初の質問、
「本当に使われているのか?」が発生するのであって。

31 :デフォルトの名無しさん:2017/09/30(土) 10:25:41.46 ID:kOdc4YYr.net
ねーよ
デザパタは使おうとすると
適応根拠が説明しきれない

32 :デフォルトの名無しさん:2017/09/30(土) 10:37:51.13 ID:aRvHHZYR.net
StrategyとStateの違いって何よ

33 :デフォルトの名無しさん:2017/09/30(土) 10:43:09.58 ID:bL0j7tMv.net
>>31
それだとデザパタは使い物にならない=ゴミ、ってことになるだろ。
てか君はどっち派よ?
まずはデザパタ厨に説明する機会を与え、様子見すべきだろ。

34 :デフォルトの名無しさん:2017/09/30(土) 10:43:56.11 ID:bL0j7tMv.net
>>32
rgy

35 :デフォルトの名無しさん:2017/09/30(土) 11:26:06.12 ID:/L07O6Pa.net
>>33
どっちとかじゃない
デザパタはどのくらいクソって議論しか取り合わない

36 :デフォルトの名無しさん:2017/09/30(土) 11:46:25.29 ID:bL0j7tMv.net
>>35
なら敢えて聞こう、どの位クソなのかと

37 :デフォルトの名無しさん:2017/09/30(土) 11:47:40.97 ID:SoFMOodp.net
ところでリアルでデザパタって言ってるの?

38 :デフォルトの名無しさん:2017/09/30(土) 11:52:30.69 ID:/L07O6Pa.net
>>36
熱盛

39 :デフォルトの名無しさん:2017/09/30(土) 12:58:39.68 ID:YEkb06JW.net
>>37
外国人にはデザインパターンじゃないと
通じなかったよ

40 :デフォルトの名無しさん:2017/09/30(土) 14:21:26.94 ID:MuV6ZELy.net
>>26
オブジェクト指向かどうかに関係ないが
内部構造を考える前にシステム境界の内側と外側のインタラクションをまず考えること
システム境界の内側と外側のインタラクションを定義するためには
各インタラクションを自然言語で明確に記述することからはじまる

それができれば一番外側のクラスのインターフェースを考える(慣れるまで内部状態は一緒に考えない)
次に一番外側のクラスのインターフェースをサポートするために必要な状態やクラスを考える
で新しく必要だと考えたクラスのインターフェースを考える
これを繰り返す

41 :デフォルトの名無しさん:2017/09/30(土) 14:26:12.80 ID:MuV6ZELy.net
>>26
- 「お金の投入」と「商品の購入」を別インタラクション? お金はどうやって投入するの?
- 「購入する()」は何も渡さず何も返さない?

↑こういう点が必要なインタラクションを把握できてないと感じるところ

42 :デフォルトの名無しさん:2017/09/30(土) 15:15:06.94 ID:Rlso/pc7.net
デザパタなんてまだマシだろ
外人なんてDPって書く奴ざらにいるぞ

43 :デフォルトの名無しさん:2017/09/30(土) 17:15:12.31 ID:NS2YjOla.net
>>26
出庫(商品id, 出庫日, 個数)
入庫(商品id, 入庫日, 個数)

在庫管理 {
在庫数を取得する(p_商品id) {
a = (select sum(個数) from 入庫 where 商品id = p_商品id)
b = (select sum(個数) from 出庫 where 商品id = p_商品id)
return a - b
}
入庫する(商品id, 入庫日, 個数) {
insert into 入庫 (商品id, 入庫日, 個数)
}
出庫する(商品id, 出庫日, 個数) {
if (個数 > 在庫数を取得する()) throw 例外("在庫数が足りません")
insert into 出庫(商品id, 出庫日, 個数)
}
}

自販機 {
ボタンクリックイベント() {
商品id = 押されたボタンに紐付く商品idを取得する()
在庫管理.出庫(商品id, 現在時刻, 1)
押されたボタンに紐付く商品を取り出し口に落とす()
}
}

グローバル例外ハンドラ {
未処理例外イベント(例外) {
エラーログを出力する(例外)
}
}

44 :デフォルトの名無しさん:2017/09/30(土) 17:45:39.05 ID:kkTNvqls.net
DAOさん

45 :デフォルトの名無しさん:2017/09/30(土) 18:37:38.64 ID:MuV6ZELy.net
>>43
- 無限に入庫できるの?
- ボタン押せばお金入れて無くても商品出してくれるの?
- 在庫数取得中にラスト1個の出庫が発生すると商品出てこないね

早まった詳細化はよくあるデスマーチパターン

46 :デフォルトの名無しさん:2017/09/30(土) 19:20:14.20 ID:kkTNvqls.net
>>43
手続き型との違いが分からない

47 :デフォルトの名無しさん:2017/09/30(土) 19:22:12.04 ID:NS2YjOla.net
>>45
要件に無いので無限に入庫できる
金銭の問題は質問者が別途考えることであり現在のコンテキストにはそぐわない
自販機において商品購入の並列処理は考慮しなくてよい

あまりにも馬鹿馬鹿しい指摘は今後スルーします

48 :デフォルトの名無しさん:2017/09/30(土) 19:27:44.53 ID:bL0j7tMv.net
結局デザパタは自販機クラスを構成する時の説明に使えないのか?
ならばデザパタは存在価値が無く、デザパタ厨はゴミだって事になるが。

俺の見立てでは、デザパタはセンスがない奴の勉強してますアピール時のアリバイ程度にしかならない。
肝心の構造実装を説明する時にも他の用語の方が適切だって時点でゴミ確定。
使い物にならないから誰も使わず、「本当に使われてるんですか?」という質問が発生する。
デザパタ厨は老害だよ。

デザパタが有用だと主張するなら、デザパタ用語でより分かりやすい説明を提供できないといけない。
そもそも俺はデザパタ厨は実装能力が全くなく、非デザパタ用語での説明すら出来ないと見ているが。

ついでに言うとsmalltalk信者もこういう時こそメッセージング指向(キリッで
素晴らしい実装を披露するべきであるんだがな。


>>43
ところでそれは何言語で何指向なんだ?
(なお俺も>>45は揚げ足取りで、現段階で必要な議論ではないと思う)

49 :デフォルトの名無しさん:2017/09/30(土) 19:38:34.22 ID:Cb9Aht4V.net
>>48
自販機クラスの構成の説明に使えないものはゴミなら、プログラミングの世界ってゴミばかりだねw

50 :デフォルトの名無しさん:2017/09/30(土) 19:49:34.96 ID:bL0j7tMv.net
>>49
そもそもお前らデザパタ厨は「『何に役立つから』デザパタを学ぶべきだ」という主張なんだ?
当然だが俺は、何にも役に立たないからゴミだ、という主張だ。
実際ここで使わないで、いつ使うんだ?という状況だろ。

> プログラミングの世界ってゴミばかりだねw
他に何がゴミだと思っている?

51 :デフォルトの名無しさん:2017/09/30(土) 20:32:54.68 ID:MuV6ZELy.net
>>47
え、じゃ>>43を書いた意味というか目的はなんなの?

52 :デフォルトの名無しさん:2017/09/30(土) 20:34:28.53 ID:/jgYbdHq.net
>>39
だろうな

>>42
マシならいいという風潮

53 :デフォルトの名無しさん:2017/09/30(土) 20:47:17.95 ID:Lb08y44X.net
>>50
> そもそもお前らデザパタ厨は「『何に役立つから』デザパタを学ぶべきだ」という主張なんだ?

デザパタ本を最初に読んだ時、
俺がそれまで悩んでいたり自分で考えた設計が
紹介されていたから、やっぱりちゃんとした
本で勉強したほうが時間の節約になると
実感したから学ぶべきだって主張

あんたの世界が狭いんだろ?
フレームワークを使って、その中身だけを書いてる人は使わないだろうさ
自分の作ったアプリにプラグインの仕組みを取り入れようとしたり
テキストエディタなんかを作ろうと考えたら、必ずと行っていいほど使うよ。

54 :デフォルトの名無しさん:2017/09/30(土) 20:58:31.09 ID:bL0j7tMv.net
>>51
そりゃ>>26への回答だろ。
つか、俺は君の>>40-41よりも>>43の方が直接的で分かりやすいと思うが。
全部実装する必要もないし。

>>43
俺は48で何指向かと聞いたがこれは間違いだった。
これはOOPだね。見落とした。すまん。

55 :デフォルトの名無しさん:2017/09/30(土) 21:05:07.39 ID:bL0j7tMv.net
>>53
> 自分の作ったアプリにプラグインの仕組みを取り入れようとしたり
> テキストエディタなんかを作ろうと考えたら、必ずと行っていいほど使うよ。
ほう。何パターンを使うんだ?
前者は「DLL」、後者は前回も言ったがundoなら「逆方向履歴」等で、デザパタ用語は不要だろ。
これ以上に明快な説明をデザパタ用語でやってみろよ。

56 :デフォルトの名無しさん:2017/09/30(土) 21:26:28.25 ID:MuV6ZELy.net
要件定義をきちんとすれば自然に辿り着くことだけど
自動販売機をモデル化する場合に核になるのはステートマシン
それを理解せず設計したりコードを書いたりすれば
>>45で指摘したような問題が後から後から出てくる

設計時もコーディング時も
事前/事後/不変条件を常に意識することが大事

57 :デフォルトの名無しさん:2017/09/30(土) 21:49:36.71 ID:Lb08y44X.net
>>55
「デザパタ」が必要ないんじゃなくて
「デザパタ用語」が必要ないって
お前書いてるよね?w

58 :デフォルトの名無しさん:2017/09/30(土) 21:53:10.48 ID:iRa5Yzik.net
デザインパターンな..

59 :デフォルトの名無しさん:2017/09/30(土) 22:04:28.64 ID:Lb08y44X.net
逆方向履歴という機能を実装するのに
デザインパターンが使われている

60 :デフォルトの名無しさん:2017/09/30(土) 22:23:39.23 ID:bL0j7tMv.net
>>57
それは当たり前。
デザパタは登場時の時点で「既に頻出」な物に名前を付けただけ。
何も新しい物はない。普通にコード書けば使っている。
だから俺は「デザパタを別に勉強する意味はない」という立場。

>>59
> 逆方向履歴という機能を実装するのに
何パターン?
これにはパターンは無いはずだが。
(ただし俺は全て押さえているわけではないが)

61 :デフォルトの名無しさん:2017/09/30(土) 22:25:15.02 ID:eDPmsgZ7.net
デザインパターンだっつってんだろ
馬鹿なの死ぬの?

62 :デフォルトの名無しさん:2017/09/30(土) 22:26:30.68 ID:bL0j7tMv.net
>>56
> 自動販売機をモデル化する場合に核になるのはステートマシン
これは多分違うぞ。
どのレベルからステートマシンと称するかにもよるが。

63 :デフォルトの名無しさん:2017/09/30(土) 22:26:30.88 ID:Lb08y44X.net
> デザパタは登場時の時点で「既に頻出」な物に名前を付けただけ。

たしかに世界にとっては頻出だろう?
だが勉強中の人にとっては知らない知識だ

だからその人が世界に追いつくために
勉強しなければいけないってことだ

なぜ頻出なものを自分で考え出さないといけないのか
それこそ時間の無駄だ

64 :デフォルトの名無しさん:2017/09/30(土) 22:27:41.01 ID:eDPmsgZ7.net
>>62
そこはステマシじゃねぇのかよ
中途半端な野郎だな

65 :デフォルトの名無しさん:2017/09/30(土) 22:31:39.91 ID:Lb08y44X.net
結局デザパタを認めないやつは
自分で考えだしたものが
実は教科書に乗っているようなものと
認めたくないんだろうな。

66 :デフォルトの名無しさん:2017/09/30(土) 22:38:00.59 ID:bL0j7tMv.net
>>63
> なぜ頻出なものを自分で考え出さないといけないのか
> それこそ時間の無駄だ
使える物は全て言語機能に採り入れられてるから、言語を学べば「使い方」は理解出来る。
そしてせっかく覚えた「デザパタ用語」は使い道がない。
中途半端に抽象化した結果、「ストラテジーバターン」=動的に対象関数を切り替える
とした場合、実装は「継承/委譲/関数ポインタ」等になり、実装時にはこれらの区別も重要な為、
「継承/委譲/関数ポインタ」が使われ、「ストラテジーバターン」が使われることはない。
だったら最初から言語機能をきっちり押さえた方がいい、というのが俺の立場。
(ただしJavaみたいな制限がきつい言語だと、言語だけ学んでも駄目だが)

67 :デフォルトの名無しさん:2017/09/30(土) 22:39:39.55 ID:eDPmsgZ7.net
>>66
ストパタじゃねぇのかよ
馬鹿なの?

68 :デフォルトの名無しさん:2017/09/30(土) 22:40:17.60 ID:Lb08y44X.net
> 使える物は全て言語機能に採り入れられてるから、言語を学べば「使い方」は理解出来る。

言語を学ぶの中にデザパタを学ぶが含まれているんだが?
なにを言ってるのだろうこいつは

69 :デフォルトの名無しさん:2017/09/30(土) 22:41:49.90 ID:Lb08y44X.net
ストラテジーバターンは継承/委譲/関数ポインタを応用して
作り出すパターン

単体の道具(継承/委譲/関数ポインタ)を
複数組み合わせて構造を作るのがパターン

やっぱりデザパタ分かってないんだなw

70 :デフォルトの名無しさん:2017/09/30(土) 22:42:49.94 ID:eDPmsgZ7.net
>>69
ストバタにしろやカス

71 :デフォルトの名無しさん:2017/09/30(土) 22:43:01.60 ID:bL0j7tMv.net
>>68
> 言語を学ぶの中にデザパタを学ぶが含まれているんだが?
これは初耳だが、どの言語のことだ?

72 :デフォルトの名無しさん:2017/09/30(土) 22:46:06.66 ID:Lb08y44X.net
>>71
どの言語でも

継承ってなんですか?
→ 親クラスの機能をサブクラスが受け継ぐことです

継承を使うと何ができるんですか?
→ 応用例はいくつもあります。例えば〜のような使い方が出来ます。
このような使い方を○○パターンといいます。

っていうように道具を使った応用例として
デザパタがでてくるだろ

お前は継承という道具を勉強するだけで
その継承のいろんな応用例まで勉強中のやつが思いつくと思ってんのか?

73 :デフォルトの名無しさん:2017/09/30(土) 22:49:13.24 ID:bL0j7tMv.net
>>69
> 単体の道具(継承/委譲/関数ポインタ)を
> 複数組み合わせて構造を作るのがパターン
これは俺は無駄なバリエーションで名前の数を増やしているだけという立場。
お前らはテンプレートメソッド=継承という立場だったはずだが、
その場合、テンプレートメソッド、ストラテジー、コンポジットを別々にする意味はあるのか?
そして、この程度の差異で無駄に名前を増産する意味があるのか?
何の為にストラテジーパターンを抽象化したんだ?

74 :デフォルトの名無しさん:2017/09/30(土) 22:51:54.36 ID:bL0j7tMv.net
>>72
> → 応用例はいくつもあります。例えば〜のような使い方が出来ます。
> このような使い方を○○パターンといいます。
ねーよアホ。
デザパタが書かれる前から継承はあったし、使われてる。
継承は継承としか書いてない。
お前はデザパタ洗脳用の教科書を掴まされたんじゃないのか?

75 :デフォルトの名無しさん:2017/09/30(土) 22:54:20.26 ID:Lb08y44X.net
> その場合、テンプレートメソッド、ストラテジー、コンポジットを別々にする意味はあるのか?
使い方が違うからな。

第一な、無駄なリエーションで名前を増やしているというのなら、
言語なんて実は

・順次実行
・メモリ(I/O)読み書き機能
・演算機能
・(条件付き)ジャンプ機能

これだけの用語で十分。関数とか例外とかそんなものすらいない。
実際機械語はこのぐらいしか機能がない。
それ以外の機能は、これらの基本的な機能の応用例でしか無い。

だが、それだけじゃあまりにも基本的な機能すぎて
他の人と知識を共有できないから名前を増やすことで
短い単語で言いたいことを表現してるんだろうが

76 :デフォルトの名無しさん:2017/09/30(土) 22:54:51.73 ID:eDPmsgZ7.net
>>73
テンメソだろ
なめてんのかてめぇ

77 :デフォルトの名無しさん:2017/09/30(土) 22:55:19.24 ID:Lb08y44X.net
>>74
> デザパタが書かれる前から継承はあったし、使われてる。

だからなんだ。

使われてるその応用例をカタログ化したのが
デザインパターンなんだろ

プロが長年かけて最適なパターンを教科書に乗せて
初学者がすぐに追いつけるようにしたんだよ。

78 :デフォルトの名無しさん:2017/09/30(土) 22:57:54.56 ID:Lb08y44X.net
> 継承は継承としか書いてない。

当たり前過ぎ・・・
基本と応用の違いも理解できんのか。

初学者に継承を教えるだけで、
すぐに応用例が思いつくわけ無いだろ

基本(継承)を教えてから、基本機能を組み合わせて
応用(パターン)を学ぶんだよ。


継承とパターンが違うんだから、
継承のストラテジーパターンって書くわけ無いだろw

継承=ストラテジーパターンではない。
色んなパターンの中で継承が使われてる
ストラテジーパターン以外でも継承が使われている。
この2つの単語は同一ではない

79 :デフォルトの名無しさん:2017/09/30(土) 22:59:02.15 ID:bL0j7tMv.net
>>75
> 短い単語で言いたいことを表現してるんだろうが
おう、だからやってみろと>>55で俺は言ったはずだが、
お前も不都合なことは見えなくなる病気なんだな。

デザパタ用語は抽象度が中途半端すぎて、何にも使えない、というのが俺の立場。
まあ、>>55の回答を待つ。

80 :デフォルトの名無しさん:2017/09/30(土) 23:00:35.25 ID:wIKBotg5.net
>>69
> 単体の道具(継承/委譲/関数ポインタ)を
> 複数組み合わせて構造を作るのがパタ
これは俺は無駄なバリで名前の数を増やしているだけという立場。
お前らはテンメソ=継承という立場だったはずだが、
その場合、テンメソ、スト、コンポジを別々にする意味はあるのか?
そして、この程度の差異で無駄に名前を増産する意味があるのか?
何の為にストパタを抽象化したんだ?

81 :デフォルトの名無しさん:2017/09/30(土) 23:01:38.79 ID:bL0j7tMv.net
>>77
俺は>>72
> どの言語でも (中略)
> っていうように道具を使った応用例として
> デザパタがでてくるだろ
についてダウト!と言ってるんだよ。
理由は「継承」は「デザパタ」よりも古いから。

これに対する回答は?

82 :デフォルトの名無しさん:2017/09/30(土) 23:15:32.07 ID:Lb08y44X.net
>>79
> おう、だからやってみろと>>55で俺は言ったはずだが、

そこがお前ずれてるんだよ。

デザパタは「やること」ではない
(誰かが)やったことの知識だ

すでに「やってる」ことに過ぎない
何をやれと言ってるのかさっぱりわからない。

83 :デフォルトの名無しさん:2017/09/30(土) 23:17:34.98 ID:Lb08y44X.net
>>81
> 理由は「継承」は「デザパタ」よりも古いから。

古いから何なんだよ・・・

最初に継承が生まれ、それを使って
いろんなパターンが生み出された。

継承はパタ−ンよりも古くて当然だよ。

で「継承」は「デザパタ」よりも古いからなに?

84 :デフォルトの名無しさん:2017/09/30(土) 23:18:06.00 ID:bL0j7tMv.net
>>78
> 初学者に継承を教えるだけで、
> すぐに応用例が思いつくわけ無いだろ
いやストラテジーパターンは応用例ですらない。使用例だ。
誰でも思いつくというか、この使い方をする為に設計された言語機能が継承だ。
そして使い方なら言語の説明で一通り為されて居るものだ。

> 継承=ストラテジーパターンではない。
(意見としては)違うね。
継承を使った場合、ストラテジーパターンに該当しない物を作れない。
抽象度が異なる為、これらは確かに単語としては同じではないが、しかし、
「ストラテジーパターン」という単語を使って説明する適切な場合がない。
要らない単語をいたずらに増やしただけだ。

85 :デフォルトの名無しさん:2017/09/30(土) 23:20:26.38 ID:Lb08y44X.net
>>80
> その場合、テンメソ、スト、コンポジを別々にする意味はあるのか?

応用例の説明見れば分かる通り
使い方が違うんだから意味あるだろうな。

シチューとカレーなんてどちらもほとんど同じ材料が使われてるが
別々の料理になってるだろ。


お前が言ってるのはそういうこと
いろんなパターンで継承が使われてるが、その継承の
使い方の違いでパターンの違いになるんだよ。

どっちも同じ材料が入ってるから、
「にんじん+たまねぎ+じゃがいも料理」だ!
じゃないの

86 :デフォルトの名無しさん:2017/09/30(土) 23:21:33.84 ID:bL0j7tMv.net
>>82
> 何をやれと言ってるのかさっぱりわからない。
お前は本当に馬鹿なのか?
日本語が通じないようならこの辺で打ちきりにするが。

俺は、
> 他の人と知識を共有できないから名前を増やすことで
> 短い単語で言いたいことを表現してるんだろうが (>>75)
について、>>55で求めた、
> 前者は「DLL」、後者は前回も言ったがundoなら「逆方向履歴」等
よりも簡単な説明をデザパタ用語でやれ、と言ってるんだが。

87 :デフォルトの名無しさん:2017/09/30(土) 23:21:47.75 ID:Lb08y44X.net
>>84
> 誰でも思いつくというか、この使い方をする為に設計された言語機能が継承だ。

最初にストラテジーパターンというパターンがあって
継承が生まれただと?

ハハハ



なぜなら

> 理由は「継承」は「デザパタ」よりも古いから。

88 :デフォルトの名無しさん:2017/09/30(土) 23:23:53.47 ID:bL0j7tMv.net
>>83
なるほどお前は池沼なんだな。

> で「継承」は「デザパタ」よりも古いからなに?
デザパタ(1995)以前の「継承」を実装していた言語の仕様書、
例えば「プログラミング言語C++」(1983)において、
> どの言語でも (中略)
> っていうように道具を使った応用例として
> デザパタがでてくるだろ (>>72)
があり得ない、と言ってるんだが。

89 :デフォルトの名無しさん:2017/09/30(土) 23:24:28.98 ID:Lb08y44X.net
>>86

> 前者は「DLL」、後者は前回も言ったがundoなら「逆方向履歴」等
DLLはダイナミックリンクライブラリ
動的にリンクするライブラリと言うだけで、
それだけではどんなものかがわからない。

> undoなら「逆方向履歴」
逆方向履歴という機能を実現するにはいろんなやり方がある。
それだけではどんな設計を使うのかが決まっていない

その設計にどんなパターンを使うのが良いのか?
そこでデザインパターンの中から適切なものを探そう

90 :デフォルトの名無しさん:2017/09/30(土) 23:26:32.68 ID:Lb08y44X.net
>>88
あ、お前今が2017年だってわかってなのか?w

そりゃデザインパターンとしてカタログ化されてない
昔(1995)以前では、言語の勉強の中で
デザパタが登場するわけ無いだろwww
昔(お前の時代)にはデザパタ出てこないの当たり前だよーーーーw

今は言語の勉強の中で基本の応用として
デザパタを学習するんだよ。

91 :デフォルトの名無しさん:2017/09/30(土) 23:27:35.90 ID:Lb08y44X.net
いや、まかさ

俺の子供の時代にはそんなこと習わなかった

が根拠になっていたとはなwww
草www

92 :デフォルトの名無しさん:2017/09/30(土) 23:29:01.75 ID:bL0j7tMv.net
>>87
> 最初にストラテジーパターンというパターンがあって
> 継承が生まれただと?
お前は本当に馬鹿だな。

継承の典型的な使用例に「ストラテジーパターン」という名前を付けただけだ。
だけど実際は「継承」で全く問題なくて、しかも無駄に抽象化したから使いどころもなくなった。

というかどうやらデザパタ厨はマジで馬鹿で議論が出来ないのは分かった。
他の言葉が通じる連中が出て来たら再開する。

93 :デフォルトの名無しさん:2017/09/30(土) 23:31:17.52 ID:wIKBotg5.net
>>87
> 最初にストラテジーパターンというパターンがあって
> 継承が生まれただと?
お前は本当に馬鹿だな。

継承の典型的な使用例に「ストパタ」という名前を付けただけだ。
だけど実際は「継承」で全く問題なくて、しかも無駄に抽象化したから使いどころもなくなった。

というかどうやらデザパタ厨はマジで馬鹿で議論が出来ないのは分かった。
他の言葉が通じる連中が出て来たら再開する。

94 :デフォルトの名無しさん:2017/09/30(土) 23:31:34.77 ID:Lb08y44X.net
> 継承の典型的な使用例に「ストラテジーパターン」という名前を付けただけだ。

継承の応用例の一つとして「ストラテジーパターン」がある
応用例の一つであるということからもわかるように
継承を使った応用例はいくつも有るから

継承と言っただけで「ストラテジーパターン」を意味することにはならない。
だから「使い方」を言いたいときには「ストラテジーパターン」という必要がある。

継承はベースとなる機能
その継承の使い方がパターンなのである

95 :デフォルトの名無しさん:2017/09/30(土) 23:32:35.29 ID:bL0j7tMv.net
>>89
> その設計にどんなパターンを使うのが良いのか?
> そこでデザインパターンの中から適切なものを探そう
それも俺は要求済みだ。早く答えろ。

> > 逆方向履歴という機能を実装するのに
> 何パターン? (>>60)

お前は典型的な「都合が悪い物は見えない病気」だな。
まあこの議論を見れば、デザパタ厨がどれだけゴミか分かるだろうから、お前らの布教も捗るだろうよ。

96 :デフォルトの名無しさん:2017/09/30(土) 23:33:05.80 ID:Lb08y44X.net
> 継承の典型的な使用例に「ストパタ」という名前を付けただけだ。

継承の典型的な使用例と何度も言っていることからわかるように

ストラテジーパターンは継承の使用例の一つでしか無い
だから継承といっても使用例が定まるわけではない。


何度も言うぞ

継承の「典型的な使用例」がストラテジーパターンである

97 :デフォルトの名無しさん:2017/09/30(土) 23:35:25.33 ID:bL0j7tMv.net
>>94
だから
・継承を使っているがストラテジーパターンには非該当
の例を出せるか?多分無理なんだよ。だから、
> だから「使い方」を言いたいときには「ストラテジーパターン」という必要がある。
この分離は必要ないんだよ。
この言い方では通じないとは思うが。

98 :デフォルトの名無しさん:2017/09/30(土) 23:36:17.57 ID:Lb08y44X.net
何度も言うぞ

継承の「典型的な使用例」がストラテジーパターンである

継承の使用例の一つがストラテジーパターンであるが
継承の利用例は他にも有る。

では聞こう

継承とは何パターンか?
答えるわけがない。

継承の使用例の一つがストラテジーパターンであるが
継承の他の利用例は別のパターン名がついているからである。


継承は道具。使用例がパターン。
使用例であるパターン名を言わないと、
どんな使用例かは答えられない

何度も言うぞ

継承の「典型的な使用例」がストラテジーパターンである 👀
Rock54: Caution(BBR-MD5:0be15ced7fbdb9fdb4d0ce1929c1b82f)


99 :デフォルトの名無しさん:2017/09/30(土) 23:37:23.69 ID:Lb08y44X.net
もうそろそろ、継承の「典型的な使用例」がストラテジーパターンである
という言葉の意味が理解できたことだろうか?


そう使用例がパターンなのである

100 :デフォルトの名無しさん:2017/09/30(土) 23:37:53.05 ID:wIKBotg5.net
>>94
だから
・継承を使っているがストパタには非該当
の例を出せるか?多分無理なんだよ。だから、
> だから「使い方」を言いたいときには「ストラテジーパターン」という必要がある。
この分離は必要ないんだよ。
この言い方では通じないとは思うが。

総レス数 1002
317 KB
新着レスの表示

掲示板に戻る 全部 前100 次100 最新50
read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★