前スレ
オブジェクト指向システムの設計 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
オブジェクト指向システムの設計 174 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
2017/09/26(火) 07:20:38.98ID:qu+DPehL
2017/09/26(火) 23:21:32.01ID:U5HCny0u
>>6
お前は何て病気?
お前は何て病気?
2017/09/26(火) 23:57:05.71ID:wPSfJS/Y
無能な煽りは逆効果だとも分からないほど無能なんだな。
デザパタなんてイラネな俺がいくら無能でも、
デザパタを勉強する価値がある事にはならんだろ。
肝心のデザパタ厨が無能なんだから。
お前ら当たり前の論理も組み立てられないのな。
結局はデザパタ厨もやりすぎて手段が目的になってる。
上級者の実装パターンを学び、実装時にそれを生かすのが目的なのに、
デザパタの暗記が目的になり、undoすら実装出来ないのでは意味無いだろ。
しかも自分がその程度だと気付けてないのも救えない。
全スレ>>945は訂正しておく
・933の実力>>>デザパタ厨=自分がundoの実装すらマトモに出来ない事に気づけない
布教したいのなら、お前らがやるべき事は、
実装方式を悩んでいる初心者に対し、「そこは○○パターンで(キリッ」と丁寧に教えることであって、
いくら俺を叩いても意味無いだろ。
まあお前らにはこれをやる実力すらないわけだが。
デザパタなんてイラネな俺がいくら無能でも、
デザパタを勉強する価値がある事にはならんだろ。
肝心のデザパタ厨が無能なんだから。
お前ら当たり前の論理も組み立てられないのな。
結局はデザパタ厨もやりすぎて手段が目的になってる。
上級者の実装パターンを学び、実装時にそれを生かすのが目的なのに、
デザパタの暗記が目的になり、undoすら実装出来ないのでは意味無いだろ。
しかも自分がその程度だと気付けてないのも救えない。
全スレ>>945は訂正しておく
・933の実力>>>デザパタ厨=自分がundoの実装すらマトモに出来ない事に気づけない
布教したいのなら、お前らがやるべき事は、
実装方式を悩んでいる初心者に対し、「そこは○○パターンで(キリッ」と丁寧に教えることであって、
いくら俺を叩いても意味無いだろ。
まあお前らにはこれをやる実力すらないわけだが。
2017/09/27(水) 00:29:39.71ID:jZ7EahtZ
全スレが泣いた
2017/09/27(水) 00:46:50.85ID:jZ7EahtZ
心の中では「まえスレ」
2017/09/27(水) 01:46:12.14ID:SJAHc9Lg
設計パターンなんていらない
2017/09/27(水) 01:54:22.30ID:SJAHc9Lg
アーキテクチャパターンもいらない子
2017/09/27(水) 01:56:12.89ID:SJAHc9Lg
>>8
で、なんでデザパタイラネなんだっけ?
で、なんでデザパタイラネなんだっけ?
2017/09/27(水) 02:04:44.17ID:SJAHc9Lg
前スレ見てきた
> デザパタの暗記が目的になり、undoすら実装出来ないのでは意味無い
とか言ってる人がいたから、デザパタ厨とアンチデザパタ厨で実装対決してたのかと思ったら、誰もなにも実装してなかった
なるほど、undoすら実装できない人同士で設計論を争ってるのか
> デザパタの暗記が目的になり、undoすら実装出来ないのでは意味無い
とか言ってる人がいたから、デザパタ厨とアンチデザパタ厨で実装対決してたのかと思ったら、誰もなにも実装してなかった
なるほど、undoすら実装できない人同士で設計論を争ってるのか
2017/09/27(水) 02:10:07.97ID:60RbULmH
デザパタの持つ意味も理解してなければ
デザパタとundoの関係も理解してない人が
デザパタイラネと言ってたのが前スレ
デザパタとundoの関係も理解してない人が
デザパタイラネと言ってたのが前スレ
2017/09/27(水) 03:32:14.99ID:jZ7EahtZ
undoするものがないのに何を実装するんだ
こいつundoさえわからないのか
こいつundoさえわからないのか
2017/09/27(水) 06:51:39.93ID:mNYogTbA
どんなコンテナ概念も全部「それは構造体だから〜」にする
いつもの「自動車は馬なし馬車だから」さんが居たのは憶えてる。
いつもの「自動車は馬なし馬車だから」さんが居たのは憶えてる。
2017/09/27(水) 12:03:00.13ID:OelTm3Fw
un, deux, trios
19デフォルトの名無しさん
2017/09/29(金) 01:04:50.43ID:NSGi97+G 「注文」っていう動詞があったときに、
「振る舞い」と「操作」って何が違うんかな。
「振る舞い」と「操作」って何が違うんかな。
2017/09/29(金) 01:17:44.77ID:tjqo0EG6
2017/09/29(金) 02:19:10.82ID:RLeXl8wr
order.cancel() -> 注文の振る舞い
cancel(order) -> 注文に対する操作
ただしメソッドのことを操作と呼ぶ場合もあるから文脈による
cancel(order) -> 注文に対する操作
ただしメソッドのことを操作と呼ぶ場合もあるから文脈による
2017/09/29(金) 09:01:57.77ID:hpSK5POk
>>19
注文のように振る舞うオブジェクトを他のオブジェクトが操作するんだよ
注文のように振る舞うオブジェクトを他のオブジェクトが操作するんだよ
2017/09/30(土) 01:29:46.30ID:/jgYbdHq
だからデザパタってなんだよ
デザインパターンすら打つのが面倒くせえ奴はプログラミングなんかやめちまえ
デザインパターンすら打つのが面倒くせえ奴はプログラミングなんかやめちまえ
2017/09/30(土) 03:51:14.41ID:rw2PNEGc
デザパタ
2017/09/30(土) 06:58:20.29ID:SiFkWGTC
面倒くさがりはプログラマに向いてるだろ
2017/09/30(土) 07:00:21.91ID:REKxOj2c
オブジェクト指向ができなくて悩んでいるのですが、アドバイスお願いします
例として商品は10種類まで、今はつり銭の概念が入ってくるとややこしくて考えられないので投入金額 = 価格のみ購入可能というすごいシンプルな飲料自動販売機を想定しています
フローとしては購入する()内で飲料型の商品変数のメンバ価格と投入金額を比較し、イコールだった場合在庫数を減らす()を呼ぶというふうに考えているのですがどうなのでしょうか?
また自販機がわかりづらい場合、他の例を出して頂ければそちらで設計しますのでお願いします
クラス図を貼っておきます
https://i.imgur.com/0Sthq5O.png
例として商品は10種類まで、今はつり銭の概念が入ってくるとややこしくて考えられないので投入金額 = 価格のみ購入可能というすごいシンプルな飲料自動販売機を想定しています
フローとしては購入する()内で飲料型の商品変数のメンバ価格と投入金額を比較し、イコールだった場合在庫数を減らす()を呼ぶというふうに考えているのですがどうなのでしょうか?
また自販機がわかりづらい場合、他の例を出して頂ければそちらで設計しますのでお願いします
クラス図を貼っておきます
https://i.imgur.com/0Sthq5O.png
2017/09/30(土) 07:13:23.68ID:SiFkWGTC
どうなのって、正解があるわけじゃないから好きに作れよ
複雑そうなところはクラスの数を増やす、そうでないなら無理にクラス化しない
そういうことでどこまで作るかにもよるし
ユースケース図でも書け
複雑そうなところはクラスの数を増やす、そうでないなら無理にクラス化しない
そういうことでどこまで作るかにもよるし
ユースケース図でも書け
2017/09/30(土) 09:03:57.67ID:kOdc4YYr
>>26
お前が何がわからないのかわからない
お前が何がわからないのかわからない
2017/09/30(土) 09:04:38.47ID:fdjE74yE
デザパタ デザパタ デザパタ デザパタ デザパタ デザパタ デザパタ デザパタ
デザパタ デザパタ デザパタ デザパタ デザパタ デザハタ デザパタ デザパタ
デザパタ デザパタ デザパタ デザパタデザパタ デザパタ デザパタ デザパタ
デザパタ デザパタ デザパタ デザパタ デザパタ デザハタ デザパタ デザパタ
デザパタ デザパタ デザパタ デザパタデザパタ デザパタ デザパタ デザパタ
2017/09/30(土) 10:19:36.24ID:bL0j7tMv
デザパタ厨はこういう時こそ「○○パターンで!」とやるべきだろ。
そもそもデザパタ厨ですら全く使わない(=見かけない)から最初の質問、
「本当に使われているのか?」が発生するのであって。
そもそもデザパタ厨ですら全く使わない(=見かけない)から最初の質問、
「本当に使われているのか?」が発生するのであって。
2017/09/30(土) 10:25:41.46ID:kOdc4YYr
ねーよ
デザパタは使おうとすると
適応根拠が説明しきれない
デザパタは使おうとすると
適応根拠が説明しきれない
32デフォルトの名無しさん
2017/09/30(土) 10:37:51.13ID:aRvHHZYR StrategyとStateの違いって何よ
2017/09/30(土) 10:43:09.58ID:bL0j7tMv
2017/09/30(土) 10:43:56.11ID:bL0j7tMv
>>32
rgy
rgy
2017/09/30(土) 11:26:06.12ID:/L07O6Pa
2017/09/30(土) 11:46:25.29ID:bL0j7tMv
>>35
なら敢えて聞こう、どの位クソなのかと
なら敢えて聞こう、どの位クソなのかと
2017/09/30(土) 11:47:40.97ID:SoFMOodp
ところでリアルでデザパタって言ってるの?
2017/09/30(土) 11:52:30.69ID:/L07O6Pa
>>36
熱盛
熱盛
2017/09/30(土) 12:58:39.68ID:YEkb06JW
2017/09/30(土) 14:21:26.94ID:MuV6ZELy
>>26
オブジェクト指向かどうかに関係ないが
内部構造を考える前にシステム境界の内側と外側のインタラクションをまず考えること
システム境界の内側と外側のインタラクションを定義するためには
各インタラクションを自然言語で明確に記述することからはじまる
それができれば一番外側のクラスのインターフェースを考える(慣れるまで内部状態は一緒に考えない)
次に一番外側のクラスのインターフェースをサポートするために必要な状態やクラスを考える
で新しく必要だと考えたクラスのインターフェースを考える
これを繰り返す
オブジェクト指向かどうかに関係ないが
内部構造を考える前にシステム境界の内側と外側のインタラクションをまず考えること
システム境界の内側と外側のインタラクションを定義するためには
各インタラクションを自然言語で明確に記述することからはじまる
それができれば一番外側のクラスのインターフェースを考える(慣れるまで内部状態は一緒に考えない)
次に一番外側のクラスのインターフェースをサポートするために必要な状態やクラスを考える
で新しく必要だと考えたクラスのインターフェースを考える
これを繰り返す
2017/09/30(土) 14:26:12.80ID:MuV6ZELy
>>26
- 「お金の投入」と「商品の購入」を別インタラクション? お金はどうやって投入するの?
- 「購入する()」は何も渡さず何も返さない?
↑こういう点が必要なインタラクションを把握できてないと感じるところ
- 「お金の投入」と「商品の購入」を別インタラクション? お金はどうやって投入するの?
- 「購入する()」は何も渡さず何も返さない?
↑こういう点が必要なインタラクションを把握できてないと感じるところ
2017/09/30(土) 15:15:06.94ID:Rlso/pc7
デザパタなんてまだマシだろ
外人なんてDPって書く奴ざらにいるぞ
外人なんてDPって書く奴ざらにいるぞ
2017/09/30(土) 17:15:12.31ID:NS2YjOla
>>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)
押されたボタンに紐付く商品を取り出し口に落とす()
}
}
グローバル例外ハンドラ {
未処理例外イベント(例外) {
エラーログを出力する(例外)
}
}
出庫(商品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)
押されたボタンに紐付く商品を取り出し口に落とす()
}
}
グローバル例外ハンドラ {
未処理例外イベント(例外) {
エラーログを出力する(例外)
}
}
2017/09/30(土) 17:45:39.05ID:kkTNvqls
DAOさん
2017/09/30(土) 18:37:38.64ID:MuV6ZELy
2017/09/30(土) 19:20:14.20ID:kkTNvqls
>>43
手続き型との違いが分からない
手続き型との違いが分からない
2017/09/30(土) 19:22:12.04ID:NS2YjOla
>>45
要件に無いので無限に入庫できる
金銭の問題は質問者が別途考えることであり現在のコンテキストにはそぐわない
自販機において商品購入の並列処理は考慮しなくてよい
あまりにも馬鹿馬鹿しい指摘は今後スルーします
要件に無いので無限に入庫できる
金銭の問題は質問者が別途考えることであり現在のコンテキストにはそぐわない
自販機において商品購入の並列処理は考慮しなくてよい
あまりにも馬鹿馬鹿しい指摘は今後スルーします
2017/09/30(土) 19:27:44.53ID:bL0j7tMv
結局デザパタは自販機クラスを構成する時の説明に使えないのか?
ならばデザパタは存在価値が無く、デザパタ厨はゴミだって事になるが。
俺の見立てでは、デザパタはセンスがない奴の勉強してますアピール時のアリバイ程度にしかならない。
肝心の構造実装を説明する時にも他の用語の方が適切だって時点でゴミ確定。
使い物にならないから誰も使わず、「本当に使われてるんですか?」という質問が発生する。
デザパタ厨は老害だよ。
デザパタが有用だと主張するなら、デザパタ用語でより分かりやすい説明を提供できないといけない。
そもそも俺はデザパタ厨は実装能力が全くなく、非デザパタ用語での説明すら出来ないと見ているが。
ついでに言うとsmalltalk信者もこういう時こそメッセージング指向(キリッで
素晴らしい実装を披露するべきであるんだがな。
>>43
ところでそれは何言語で何指向なんだ?
(なお俺も>>45は揚げ足取りで、現段階で必要な議論ではないと思う)
ならばデザパタは存在価値が無く、デザパタ厨はゴミだって事になるが。
俺の見立てでは、デザパタはセンスがない奴の勉強してますアピール時のアリバイ程度にしかならない。
肝心の構造実装を説明する時にも他の用語の方が適切だって時点でゴミ確定。
使い物にならないから誰も使わず、「本当に使われてるんですか?」という質問が発生する。
デザパタ厨は老害だよ。
デザパタが有用だと主張するなら、デザパタ用語でより分かりやすい説明を提供できないといけない。
そもそも俺はデザパタ厨は実装能力が全くなく、非デザパタ用語での説明すら出来ないと見ているが。
ついでに言うとsmalltalk信者もこういう時こそメッセージング指向(キリッで
素晴らしい実装を披露するべきであるんだがな。
>>43
ところでそれは何言語で何指向なんだ?
(なお俺も>>45は揚げ足取りで、現段階で必要な議論ではないと思う)
2017/09/30(土) 19:38:34.22ID:Cb9Aht4V
>>48
自販機クラスの構成の説明に使えないものはゴミなら、プログラミングの世界ってゴミばかりだねw
自販機クラスの構成の説明に使えないものはゴミなら、プログラミングの世界ってゴミばかりだねw
2017/09/30(土) 19:49:34.96ID:bL0j7tMv
>>49
そもそもお前らデザパタ厨は「『何に役立つから』デザパタを学ぶべきだ」という主張なんだ?
当然だが俺は、何にも役に立たないからゴミだ、という主張だ。
実際ここで使わないで、いつ使うんだ?という状況だろ。
> プログラミングの世界ってゴミばかりだねw
他に何がゴミだと思っている?
そもそもお前らデザパタ厨は「『何に役立つから』デザパタを学ぶべきだ」という主張なんだ?
当然だが俺は、何にも役に立たないからゴミだ、という主張だ。
実際ここで使わないで、いつ使うんだ?という状況だろ。
> プログラミングの世界ってゴミばかりだねw
他に何がゴミだと思っている?
2017/09/30(土) 20:32:54.68ID:MuV6ZELy
2017/09/30(土) 20:34:28.53ID:/jgYbdHq
2017/09/30(土) 20:47:17.95ID:Lb08y44X
>>50
> そもそもお前らデザパタ厨は「『何に役立つから』デザパタを学ぶべきだ」という主張なんだ?
デザパタ本を最初に読んだ時、
俺がそれまで悩んでいたり自分で考えた設計が
紹介されていたから、やっぱりちゃんとした
本で勉強したほうが時間の節約になると
実感したから学ぶべきだって主張
あんたの世界が狭いんだろ?
フレームワークを使って、その中身だけを書いてる人は使わないだろうさ
自分の作ったアプリにプラグインの仕組みを取り入れようとしたり
テキストエディタなんかを作ろうと考えたら、必ずと行っていいほど使うよ。
> そもそもお前らデザパタ厨は「『何に役立つから』デザパタを学ぶべきだ」という主張なんだ?
デザパタ本を最初に読んだ時、
俺がそれまで悩んでいたり自分で考えた設計が
紹介されていたから、やっぱりちゃんとした
本で勉強したほうが時間の節約になると
実感したから学ぶべきだって主張
あんたの世界が狭いんだろ?
フレームワークを使って、その中身だけを書いてる人は使わないだろうさ
自分の作ったアプリにプラグインの仕組みを取り入れようとしたり
テキストエディタなんかを作ろうと考えたら、必ずと行っていいほど使うよ。
2017/09/30(土) 20:58:31.09ID:bL0j7tMv
2017/09/30(土) 21:05:07.39ID:bL0j7tMv
>>53
> 自分の作ったアプリにプラグインの仕組みを取り入れようとしたり
> テキストエディタなんかを作ろうと考えたら、必ずと行っていいほど使うよ。
ほう。何パターンを使うんだ?
前者は「DLL」、後者は前回も言ったがundoなら「逆方向履歴」等で、デザパタ用語は不要だろ。
これ以上に明快な説明をデザパタ用語でやってみろよ。
> 自分の作ったアプリにプラグインの仕組みを取り入れようとしたり
> テキストエディタなんかを作ろうと考えたら、必ずと行っていいほど使うよ。
ほう。何パターンを使うんだ?
前者は「DLL」、後者は前回も言ったがundoなら「逆方向履歴」等で、デザパタ用語は不要だろ。
これ以上に明快な説明をデザパタ用語でやってみろよ。
2017/09/30(土) 21:26:28.25ID:MuV6ZELy
要件定義をきちんとすれば自然に辿り着くことだけど
自動販売機をモデル化する場合に核になるのはステートマシン
それを理解せず設計したりコードを書いたりすれば
>>45で指摘したような問題が後から後から出てくる
設計時もコーディング時も
事前/事後/不変条件を常に意識することが大事
自動販売機をモデル化する場合に核になるのはステートマシン
それを理解せず設計したりコードを書いたりすれば
>>45で指摘したような問題が後から後から出てくる
設計時もコーディング時も
事前/事後/不変条件を常に意識することが大事
2017/09/30(土) 21:49:36.71ID:Lb08y44X
2017/09/30(土) 21:53:10.48ID:iRa5Yzik
デザインパターンな..
2017/09/30(土) 22:04:28.64ID:Lb08y44X
逆方向履歴という機能を実装するのに
デザインパターンが使われている
デザインパターンが使われている
2017/09/30(土) 22:23:39.23ID:bL0j7tMv
2017/09/30(土) 22:25:15.02ID:eDPmsgZ7
デザインパターンだっつってんだろ
馬鹿なの死ぬの?
馬鹿なの死ぬの?
2017/09/30(土) 22:26:30.68ID:bL0j7tMv
2017/09/30(土) 22:26:30.88ID:Lb08y44X
> デザパタは登場時の時点で「既に頻出」な物に名前を付けただけ。
たしかに世界にとっては頻出だろう?
だが勉強中の人にとっては知らない知識だ
だからその人が世界に追いつくために
勉強しなければいけないってことだ
なぜ頻出なものを自分で考え出さないといけないのか
それこそ時間の無駄だ
たしかに世界にとっては頻出だろう?
だが勉強中の人にとっては知らない知識だ
だからその人が世界に追いつくために
勉強しなければいけないってことだ
なぜ頻出なものを自分で考え出さないといけないのか
それこそ時間の無駄だ
2017/09/30(土) 22:27:41.01ID:eDPmsgZ7
2017/09/30(土) 22:31:39.91ID:Lb08y44X
結局デザパタを認めないやつは
自分で考えだしたものが
実は教科書に乗っているようなものと
認めたくないんだろうな。
自分で考えだしたものが
実は教科書に乗っているようなものと
認めたくないんだろうな。
2017/09/30(土) 22:38:00.59ID:bL0j7tMv
>>63
> なぜ頻出なものを自分で考え出さないといけないのか
> それこそ時間の無駄だ
使える物は全て言語機能に採り入れられてるから、言語を学べば「使い方」は理解出来る。
そしてせっかく覚えた「デザパタ用語」は使い道がない。
中途半端に抽象化した結果、「ストラテジーバターン」=動的に対象関数を切り替える
とした場合、実装は「継承/委譲/関数ポインタ」等になり、実装時にはこれらの区別も重要な為、
「継承/委譲/関数ポインタ」が使われ、「ストラテジーバターン」が使われることはない。
だったら最初から言語機能をきっちり押さえた方がいい、というのが俺の立場。
(ただしJavaみたいな制限がきつい言語だと、言語だけ学んでも駄目だが)
> なぜ頻出なものを自分で考え出さないといけないのか
> それこそ時間の無駄だ
使える物は全て言語機能に採り入れられてるから、言語を学べば「使い方」は理解出来る。
そしてせっかく覚えた「デザパタ用語」は使い道がない。
中途半端に抽象化した結果、「ストラテジーバターン」=動的に対象関数を切り替える
とした場合、実装は「継承/委譲/関数ポインタ」等になり、実装時にはこれらの区別も重要な為、
「継承/委譲/関数ポインタ」が使われ、「ストラテジーバターン」が使われることはない。
だったら最初から言語機能をきっちり押さえた方がいい、というのが俺の立場。
(ただしJavaみたいな制限がきつい言語だと、言語だけ学んでも駄目だが)
2017/09/30(土) 22:39:39.55ID:eDPmsgZ7
2017/09/30(土) 22:40:17.60ID:Lb08y44X
> 使える物は全て言語機能に採り入れられてるから、言語を学べば「使い方」は理解出来る。
言語を学ぶの中にデザパタを学ぶが含まれているんだが?
なにを言ってるのだろうこいつは
言語を学ぶの中にデザパタを学ぶが含まれているんだが?
なにを言ってるのだろうこいつは
2017/09/30(土) 22:41:49.90ID:Lb08y44X
ストラテジーバターンは継承/委譲/関数ポインタを応用して
作り出すパターン
単体の道具(継承/委譲/関数ポインタ)を
複数組み合わせて構造を作るのがパターン
やっぱりデザパタ分かってないんだなw
作り出すパターン
単体の道具(継承/委譲/関数ポインタ)を
複数組み合わせて構造を作るのがパターン
やっぱりデザパタ分かってないんだなw
2017/09/30(土) 22:42:49.94ID:eDPmsgZ7
>>69
ストバタにしろやカス
ストバタにしろやカス
2017/09/30(土) 22:43:01.60ID:bL0j7tMv
2017/09/30(土) 22:46:06.66ID:Lb08y44X
>>71
どの言語でも
継承ってなんですか?
→ 親クラスの機能をサブクラスが受け継ぐことです
継承を使うと何ができるんですか?
→ 応用例はいくつもあります。例えば〜のような使い方が出来ます。
このような使い方を○○パターンといいます。
っていうように道具を使った応用例として
デザパタがでてくるだろ
お前は継承という道具を勉強するだけで
その継承のいろんな応用例まで勉強中のやつが思いつくと思ってんのか?
どの言語でも
継承ってなんですか?
→ 親クラスの機能をサブクラスが受け継ぐことです
継承を使うと何ができるんですか?
→ 応用例はいくつもあります。例えば〜のような使い方が出来ます。
このような使い方を○○パターンといいます。
っていうように道具を使った応用例として
デザパタがでてくるだろ
お前は継承という道具を勉強するだけで
その継承のいろんな応用例まで勉強中のやつが思いつくと思ってんのか?
2017/09/30(土) 22:49:13.24ID:bL0j7tMv
>>69
> 単体の道具(継承/委譲/関数ポインタ)を
> 複数組み合わせて構造を作るのがパターン
これは俺は無駄なバリエーションで名前の数を増やしているだけという立場。
お前らはテンプレートメソッド=継承という立場だったはずだが、
その場合、テンプレートメソッド、ストラテジー、コンポジットを別々にする意味はあるのか?
そして、この程度の差異で無駄に名前を増産する意味があるのか?
何の為にストラテジーパターンを抽象化したんだ?
> 単体の道具(継承/委譲/関数ポインタ)を
> 複数組み合わせて構造を作るのがパターン
これは俺は無駄なバリエーションで名前の数を増やしているだけという立場。
お前らはテンプレートメソッド=継承という立場だったはずだが、
その場合、テンプレートメソッド、ストラテジー、コンポジットを別々にする意味はあるのか?
そして、この程度の差異で無駄に名前を増産する意味があるのか?
何の為にストラテジーパターンを抽象化したんだ?
2017/09/30(土) 22:51:54.36ID:bL0j7tMv
>>72
> → 応用例はいくつもあります。例えば〜のような使い方が出来ます。
> このような使い方を○○パターンといいます。
ねーよアホ。
デザパタが書かれる前から継承はあったし、使われてる。
継承は継承としか書いてない。
お前はデザパタ洗脳用の教科書を掴まされたんじゃないのか?
> → 応用例はいくつもあります。例えば〜のような使い方が出来ます。
> このような使い方を○○パターンといいます。
ねーよアホ。
デザパタが書かれる前から継承はあったし、使われてる。
継承は継承としか書いてない。
お前はデザパタ洗脳用の教科書を掴まされたんじゃないのか?
2017/09/30(土) 22:54:20.26ID:Lb08y44X
> その場合、テンプレートメソッド、ストラテジー、コンポジットを別々にする意味はあるのか?
使い方が違うからな。
第一な、無駄なリエーションで名前を増やしているというのなら、
言語なんて実は
・順次実行
・メモリ(I/O)読み書き機能
・演算機能
・(条件付き)ジャンプ機能
これだけの用語で十分。関数とか例外とかそんなものすらいない。
実際機械語はこのぐらいしか機能がない。
それ以外の機能は、これらの基本的な機能の応用例でしか無い。
だが、それだけじゃあまりにも基本的な機能すぎて
他の人と知識を共有できないから名前を増やすことで
短い単語で言いたいことを表現してるんだろうが
使い方が違うからな。
第一な、無駄なリエーションで名前を増やしているというのなら、
言語なんて実は
・順次実行
・メモリ(I/O)読み書き機能
・演算機能
・(条件付き)ジャンプ機能
これだけの用語で十分。関数とか例外とかそんなものすらいない。
実際機械語はこのぐらいしか機能がない。
それ以外の機能は、これらの基本的な機能の応用例でしか無い。
だが、それだけじゃあまりにも基本的な機能すぎて
他の人と知識を共有できないから名前を増やすことで
短い単語で言いたいことを表現してるんだろうが
2017/09/30(土) 22:54:51.73ID:eDPmsgZ7
2017/09/30(土) 22:55:19.24ID:Lb08y44X
>>74
> デザパタが書かれる前から継承はあったし、使われてる。
だからなんだ。
使われてるその応用例をカタログ化したのが
デザインパターンなんだろ
プロが長年かけて最適なパターンを教科書に乗せて
初学者がすぐに追いつけるようにしたんだよ。
> デザパタが書かれる前から継承はあったし、使われてる。
だからなんだ。
使われてるその応用例をカタログ化したのが
デザインパターンなんだろ
プロが長年かけて最適なパターンを教科書に乗せて
初学者がすぐに追いつけるようにしたんだよ。
2017/09/30(土) 22:57:54.56ID:Lb08y44X
> 継承は継承としか書いてない。
当たり前過ぎ・・・
基本と応用の違いも理解できんのか。
初学者に継承を教えるだけで、
すぐに応用例が思いつくわけ無いだろ
基本(継承)を教えてから、基本機能を組み合わせて
応用(パターン)を学ぶんだよ。
継承とパターンが違うんだから、
継承のストラテジーパターンって書くわけ無いだろw
継承=ストラテジーパターンではない。
色んなパターンの中で継承が使われてる
ストラテジーパターン以外でも継承が使われている。
この2つの単語は同一ではない
当たり前過ぎ・・・
基本と応用の違いも理解できんのか。
初学者に継承を教えるだけで、
すぐに応用例が思いつくわけ無いだろ
基本(継承)を教えてから、基本機能を組み合わせて
応用(パターン)を学ぶんだよ。
継承とパターンが違うんだから、
継承のストラテジーパターンって書くわけ無いだろw
継承=ストラテジーパターンではない。
色んなパターンの中で継承が使われてる
ストラテジーパターン以外でも継承が使われている。
この2つの単語は同一ではない
2017/09/30(土) 22:59:02.15ID:bL0j7tMv
2017/09/30(土) 23:00:35.25ID:wIKBotg5
>>69
> 単体の道具(継承/委譲/関数ポインタ)を
> 複数組み合わせて構造を作るのがパタ
これは俺は無駄なバリで名前の数を増やしているだけという立場。
お前らはテンメソ=継承という立場だったはずだが、
その場合、テンメソ、スト、コンポジを別々にする意味はあるのか?
そして、この程度の差異で無駄に名前を増産する意味があるのか?
何の為にストパタを抽象化したんだ?
> 単体の道具(継承/委譲/関数ポインタ)を
> 複数組み合わせて構造を作るのがパタ
これは俺は無駄なバリで名前の数を増やしているだけという立場。
お前らはテンメソ=継承という立場だったはずだが、
その場合、テンメソ、スト、コンポジを別々にする意味はあるのか?
そして、この程度の差異で無駄に名前を増産する意味があるのか?
何の為にストパタを抽象化したんだ?
2017/09/30(土) 23:01:38.79ID:bL0j7tMv
2017/09/30(土) 23:15:32.07ID:Lb08y44X
2017/09/30(土) 23:17:34.98ID:Lb08y44X
>>81
> 理由は「継承」は「デザパタ」よりも古いから。
古いから何なんだよ・・・
最初に継承が生まれ、それを使って
いろんなパターンが生み出された。
継承はパタ−ンよりも古くて当然だよ。
で「継承」は「デザパタ」よりも古いからなに?
> 理由は「継承」は「デザパタ」よりも古いから。
古いから何なんだよ・・・
最初に継承が生まれ、それを使って
いろんなパターンが生み出された。
継承はパタ−ンよりも古くて当然だよ。
で「継承」は「デザパタ」よりも古いからなに?
2017/09/30(土) 23:18:06.00ID:bL0j7tMv
>>78
> 初学者に継承を教えるだけで、
> すぐに応用例が思いつくわけ無いだろ
いやストラテジーパターンは応用例ですらない。使用例だ。
誰でも思いつくというか、この使い方をする為に設計された言語機能が継承だ。
そして使い方なら言語の説明で一通り為されて居るものだ。
> 継承=ストラテジーパターンではない。
(意見としては)違うね。
継承を使った場合、ストラテジーパターンに該当しない物を作れない。
抽象度が異なる為、これらは確かに単語としては同じではないが、しかし、
「ストラテジーパターン」という単語を使って説明する適切な場合がない。
要らない単語をいたずらに増やしただけだ。
> 初学者に継承を教えるだけで、
> すぐに応用例が思いつくわけ無いだろ
いやストラテジーパターンは応用例ですらない。使用例だ。
誰でも思いつくというか、この使い方をする為に設計された言語機能が継承だ。
そして使い方なら言語の説明で一通り為されて居るものだ。
> 継承=ストラテジーパターンではない。
(意見としては)違うね。
継承を使った場合、ストラテジーパターンに該当しない物を作れない。
抽象度が異なる為、これらは確かに単語としては同じではないが、しかし、
「ストラテジーパターン」という単語を使って説明する適切な場合がない。
要らない単語をいたずらに増やしただけだ。
2017/09/30(土) 23:20:26.38ID:Lb08y44X
>>80
> その場合、テンメソ、スト、コンポジを別々にする意味はあるのか?
応用例の説明見れば分かる通り
使い方が違うんだから意味あるだろうな。
シチューとカレーなんてどちらもほとんど同じ材料が使われてるが
別々の料理になってるだろ。
お前が言ってるのはそういうこと
いろんなパターンで継承が使われてるが、その継承の
使い方の違いでパターンの違いになるんだよ。
どっちも同じ材料が入ってるから、
「にんじん+たまねぎ+じゃがいも料理」だ!
じゃないの
> その場合、テンメソ、スト、コンポジを別々にする意味はあるのか?
応用例の説明見れば分かる通り
使い方が違うんだから意味あるだろうな。
シチューとカレーなんてどちらもほとんど同じ材料が使われてるが
別々の料理になってるだろ。
お前が言ってるのはそういうこと
いろんなパターンで継承が使われてるが、その継承の
使い方の違いでパターンの違いになるんだよ。
どっちも同じ材料が入ってるから、
「にんじん+たまねぎ+じゃがいも料理」だ!
じゃないの
2017/09/30(土) 23:21:33.84ID:bL0j7tMv
2017/09/30(土) 23:21:47.75ID:Lb08y44X
>>84
> 誰でも思いつくというか、この使い方をする為に設計された言語機能が継承だ。
最初にストラテジーパターンというパターンがあって
継承が生まれただと?
ハハハ
逆
なぜなら
> 理由は「継承」は「デザパタ」よりも古いから。
> 誰でも思いつくというか、この使い方をする為に設計された言語機能が継承だ。
最初にストラテジーパターンというパターンがあって
継承が生まれただと?
ハハハ
逆
なぜなら
> 理由は「継承」は「デザパタ」よりも古いから。
2017/09/30(土) 23:23:53.47ID:bL0j7tMv
2017/09/30(土) 23:24:28.98ID:Lb08y44X
>>86
> 前者は「DLL」、後者は前回も言ったがundoなら「逆方向履歴」等
DLLはダイナミックリンクライブラリ
動的にリンクするライブラリと言うだけで、
それだけではどんなものかがわからない。
> undoなら「逆方向履歴」
逆方向履歴という機能を実現するにはいろんなやり方がある。
それだけではどんな設計を使うのかが決まっていない
その設計にどんなパターンを使うのが良いのか?
そこでデザインパターンの中から適切なものを探そう
> 前者は「DLL」、後者は前回も言ったがundoなら「逆方向履歴」等
DLLはダイナミックリンクライブラリ
動的にリンクするライブラリと言うだけで、
それだけではどんなものかがわからない。
> undoなら「逆方向履歴」
逆方向履歴という機能を実現するにはいろんなやり方がある。
それだけではどんな設計を使うのかが決まっていない
その設計にどんなパターンを使うのが良いのか?
そこでデザインパターンの中から適切なものを探そう
2017/09/30(土) 23:26:32.68ID:Lb08y44X
>>88
あ、お前今が2017年だってわかってなのか?w
そりゃデザインパターンとしてカタログ化されてない
昔(1995)以前では、言語の勉強の中で
デザパタが登場するわけ無いだろwww
昔(お前の時代)にはデザパタ出てこないの当たり前だよーーーーw
今は言語の勉強の中で基本の応用として
デザパタを学習するんだよ。
あ、お前今が2017年だってわかってなのか?w
そりゃデザインパターンとしてカタログ化されてない
昔(1995)以前では、言語の勉強の中で
デザパタが登場するわけ無いだろwww
昔(お前の時代)にはデザパタ出てこないの当たり前だよーーーーw
今は言語の勉強の中で基本の応用として
デザパタを学習するんだよ。
2017/09/30(土) 23:27:35.90ID:Lb08y44X
いや、まかさ
俺の子供の時代にはそんなこと習わなかった
が根拠になっていたとはなwww
草www
俺の子供の時代にはそんなこと習わなかった
が根拠になっていたとはなwww
草www
2017/09/30(土) 23:29:01.75ID:bL0j7tMv
>>87
> 最初にストラテジーパターンというパターンがあって
> 継承が生まれただと?
お前は本当に馬鹿だな。
継承の典型的な使用例に「ストラテジーパターン」という名前を付けただけだ。
だけど実際は「継承」で全く問題なくて、しかも無駄に抽象化したから使いどころもなくなった。
というかどうやらデザパタ厨はマジで馬鹿で議論が出来ないのは分かった。
他の言葉が通じる連中が出て来たら再開する。
> 最初にストラテジーパターンというパターンがあって
> 継承が生まれただと?
お前は本当に馬鹿だな。
継承の典型的な使用例に「ストラテジーパターン」という名前を付けただけだ。
だけど実際は「継承」で全く問題なくて、しかも無駄に抽象化したから使いどころもなくなった。
というかどうやらデザパタ厨はマジで馬鹿で議論が出来ないのは分かった。
他の言葉が通じる連中が出て来たら再開する。
2017/09/30(土) 23:31:17.52ID:wIKBotg5
>>87
> 最初にストラテジーパターンというパターンがあって
> 継承が生まれただと?
お前は本当に馬鹿だな。
継承の典型的な使用例に「ストパタ」という名前を付けただけだ。
だけど実際は「継承」で全く問題なくて、しかも無駄に抽象化したから使いどころもなくなった。
というかどうやらデザパタ厨はマジで馬鹿で議論が出来ないのは分かった。
他の言葉が通じる連中が出て来たら再開する。
> 最初にストラテジーパターンというパターンがあって
> 継承が生まれただと?
お前は本当に馬鹿だな。
継承の典型的な使用例に「ストパタ」という名前を付けただけだ。
だけど実際は「継承」で全く問題なくて、しかも無駄に抽象化したから使いどころもなくなった。
というかどうやらデザパタ厨はマジで馬鹿で議論が出来ないのは分かった。
他の言葉が通じる連中が出て来たら再開する。
2017/09/30(土) 23:31:34.77ID:Lb08y44X
> 継承の典型的な使用例に「ストラテジーパターン」という名前を付けただけだ。
継承の応用例の一つとして「ストラテジーパターン」がある
応用例の一つであるということからもわかるように
継承を使った応用例はいくつも有るから
継承と言っただけで「ストラテジーパターン」を意味することにはならない。
だから「使い方」を言いたいときには「ストラテジーパターン」という必要がある。
継承はベースとなる機能
その継承の使い方がパターンなのである
継承の応用例の一つとして「ストラテジーパターン」がある
応用例の一つであるということからもわかるように
継承を使った応用例はいくつも有るから
継承と言っただけで「ストラテジーパターン」を意味することにはならない。
だから「使い方」を言いたいときには「ストラテジーパターン」という必要がある。
継承はベースとなる機能
その継承の使い方がパターンなのである
2017/09/30(土) 23:32:35.29ID:bL0j7tMv
2017/09/30(土) 23:33:05.80ID:Lb08y44X
> 継承の典型的な使用例に「ストパタ」という名前を付けただけだ。
継承の典型的な使用例と何度も言っていることからわかるように
ストラテジーパターンは継承の使用例の一つでしか無い
だから継承といっても使用例が定まるわけではない。
何度も言うぞ
継承の「典型的な使用例」がストラテジーパターンである
継承の典型的な使用例と何度も言っていることからわかるように
ストラテジーパターンは継承の使用例の一つでしか無い
だから継承といっても使用例が定まるわけではない。
何度も言うぞ
継承の「典型的な使用例」がストラテジーパターンである
2017/09/30(土) 23:35:25.33ID:bL0j7tMv
>>94
だから
・継承を使っているがストラテジーパターンには非該当
の例を出せるか?多分無理なんだよ。だから、
> だから「使い方」を言いたいときには「ストラテジーパターン」という必要がある。
この分離は必要ないんだよ。
この言い方では通じないとは思うが。
だから
・継承を使っているがストラテジーパターンには非該当
の例を出せるか?多分無理なんだよ。だから、
> だから「使い方」を言いたいときには「ストラテジーパターン」という必要がある。
この分離は必要ないんだよ。
この言い方では通じないとは思うが。
2017/09/30(土) 23:36:17.57ID:Lb08y44X
何度も言うぞ
継承の「典型的な使用例」がストラテジーパターンである
継承の使用例の一つがストラテジーパターンであるが
継承の利用例は他にも有る。
では聞こう
継承とは何パターンか?
答えるわけがない。
継承の使用例の一つがストラテジーパターンであるが
継承の他の利用例は別のパターン名がついているからである。
継承は道具。使用例がパターン。
使用例であるパターン名を言わないと、
どんな使用例かは答えられない
何度も言うぞ
継承の「典型的な使用例」がストラテジーパターンである 👀
Rock54: Caution(BBR-MD5:0be15ced7fbdb9fdb4d0ce1929c1b82f)
継承の「典型的な使用例」がストラテジーパターンである
継承の使用例の一つがストラテジーパターンであるが
継承の利用例は他にも有る。
では聞こう
継承とは何パターンか?
答えるわけがない。
継承の使用例の一つがストラテジーパターンであるが
継承の他の利用例は別のパターン名がついているからである。
継承は道具。使用例がパターン。
使用例であるパターン名を言わないと、
どんな使用例かは答えられない
何度も言うぞ
継承の「典型的な使用例」がストラテジーパターンである 👀
Rock54: Caution(BBR-MD5:0be15ced7fbdb9fdb4d0ce1929c1b82f)
2017/09/30(土) 23:37:23.69ID:Lb08y44X
もうそろそろ、継承の「典型的な使用例」がストラテジーパターンである
という言葉の意味が理解できたことだろうか?
そう使用例がパターンなのである
という言葉の意味が理解できたことだろうか?
そう使用例がパターンなのである
100デフォルトの名無しさん
2017/09/30(土) 23:37:53.05ID:wIKBotg5 >>94
だから
・継承を使っているがストパタには非該当
の例を出せるか?多分無理なんだよ。だから、
> だから「使い方」を言いたいときには「ストラテジーパターン」という必要がある。
この分離は必要ないんだよ。
この言い方では通じないとは思うが。
だから
・継承を使っているがストパタには非該当
の例を出せるか?多分無理なんだよ。だから、
> だから「使い方」を言いたいときには「ストラテジーパターン」という必要がある。
この分離は必要ないんだよ。
この言い方では通じないとは思うが。
101デフォルトの名無しさん
2017/09/30(土) 23:38:34.58ID:bL0j7tMv102デフォルトの名無しさん
2017/09/30(土) 23:39:35.12ID:wIKBotg5103デフォルトの名無しさん
2017/09/30(土) 23:40:59.93ID:Lb08y44X >>100
> ・継承を使っているがストパタには非該当
> の例を出せるか?
だせるが?
継承を使っている他のパターンはいくつも有るだろ?
だが、そのほかのパターンまで必要ない
継承の「使用例」がストラテジーパターンだ。
> ・継承を使っているがストパタには非該当
> の例を出せるか?
だせるが?
継承を使っている他のパターンはいくつも有るだろ?
だが、そのほかのパターンまで必要ない
継承の「使用例」がストラテジーパターンだ。
104デフォルトの名無しさん
2017/09/30(土) 23:49:17.59ID:Lb08y44X 一つのクラスが複数のパターンを使っているってことは有るが
有るパターンが有るパターンを内包しているってのはない。
継承を使ってる他のパターンがストラテジーパターンを内包していること無い。
なぜそんな愚かな勘違いをするのか?
それはストラテジーパターンという使用例を
基本機能である継承と同一視しているからだ。
継承を使っているパターンはあるが
それはストラテジーパターンとして使っているわけではない。
継承とストラテジーパターンを同一視しているから、
そんな馬鹿な結論に至る。
これこそが、継承(基本機能)と応用(使用例)を
別々にしておくべきだという回答の一つでも有る
有るパターンが有るパターンを内包しているってのはない。
継承を使ってる他のパターンがストラテジーパターンを内包していること無い。
なぜそんな愚かな勘違いをするのか?
それはストラテジーパターンという使用例を
基本機能である継承と同一視しているからだ。
継承を使っているパターンはあるが
それはストラテジーパターンとして使っているわけではない。
継承とストラテジーパターンを同一視しているから、
そんな馬鹿な結論に至る。
これこそが、継承(基本機能)と応用(使用例)を
別々にしておくべきだという回答の一つでも有る
105デフォルトの名無しさん
2017/09/30(土) 23:51:38.51ID:Lb08y44X > Strategy パターンは、コンピュータープログラミングの領域において、アルゴリズムを実行時に選択することができるデザインパターンである。
と説明してあるように
アルゴリズムを実行時に選択しないのであれば
それはストラテジーパターンではない
継承を使っているからと言って実行時に選択するとは限らないからな
アルゴリズムを実行時に選択したい(使用例)ときに使うのが
ストラテジーパターンである
と説明してあるように
アルゴリズムを実行時に選択しないのであれば
それはストラテジーパターンではない
継承を使っているからと言って実行時に選択するとは限らないからな
アルゴリズムを実行時に選択したい(使用例)ときに使うのが
ストラテジーパターンである
106デフォルトの名無しさん
2017/09/30(土) 23:55:48.04ID:bL0j7tMv■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【サッカー】U-17日本代表、激闘PK戦制す 北朝鮮撃破で6大会ぶり8強入り U17W杯 [久太郎★]
- 「国民の憤りを引き起こした」中国側“高市首相発言の撤回改めて要求” [どどん★]
- 【インバウンド】中国からの“渡航自粛”…ツアー1000人分の直前キャンセル「キャンセル料は免除してくれ」 ことしいっぱいキャンセルに [1ゲットロボ★]
- 【芸能】日中関係悪化でエンタメ業界に大ダメージ… JO1の中国でのイベント中止、邦画は公開延期、STARTOアイドルへの影響も [冬月記者★]
- XやChatGPTで広範囲の通信障害 投稿や閲覧できず [蚤の市★]
- 【サッカー】日本代表、ボリビアに3発快勝 森保監督通算100試合目を飾る…鎌田、町野、中村がゴール [久太郎★]
