オブジェクト指向システムの設計 174 [無断転載禁止]©2ch.net

■ このスレッドは過去ログ倉庫に格納されています
2017/09/26(火) 07:20:38.98ID:qu+DPehL
前スレ
オブジェクト指向システムの設計 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
2017/09/26(火) 07:21:32.78ID:qu+DPehL
2getでオブジェクト指向消滅!
2017/09/26(火) 14:21:52.30ID:8TtfrkPc
デザパタ
2017/09/26(火) 21:00:17.36ID:XXa+nt+D
このスレは結局デザパタの話題になっちゃうの?
2017/09/26(火) 21:28:18.31ID:L4WBOAz6
デザパタとSmalltalkと…
2017/09/26(火) 23:00:24.75ID:wPSfJS/Y
smalltalk信者: 変化する環境に適応出来なかった絶滅種
デザパタ厨: 煽ることしか出来ない無能

次の患者、どうぞ
2017/09/26(火) 23:21:32.01ID:U5HCny0u
>>6
お前は何て病気?
2017/09/26(火) 23:57:05.71ID:wPSfJS/Y
無能な煽りは逆効果だとも分からないほど無能なんだな。

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

結局はデザパタ厨もやりすぎて手段が目的になってる。
上級者の実装パターンを学び、実装時にそれを生かすのが目的なのに、
デザパタの暗記が目的になり、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すら実装できない人同士で設計論を争ってるのか
2017/09/27(水) 02:10:07.97ID:60RbULmH
デザパタの持つ意味も理解してなければ
デザパタとundoの関係も理解してない人が
デザパタイラネと言ってたのが前スレ
2017/09/27(水) 03:32:14.99ID:jZ7EahtZ
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
>>19
主体が違うし、それがOOPの基礎でもある。
詳しくは優秀なつもりのデザパタ厨が説明してくれるのを待て。
2017/09/29(金) 02:19:10.82ID:RLeXl8wr
order.cancel() -> 注文の振る舞い
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
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
>>31
それだとデザパタは使い物にならない=ゴミ、ってことになるだろ。
てか君はどっち派よ?
まずはデザパタ厨に説明する機会を与え、様子見すべきだろ。
2017/09/30(土) 10:43:56.11ID:bL0j7tMv
>>32
rgy
2017/09/30(土) 11:26:06.12ID:/L07O6Pa
>>33
どっちとかじゃない
デザパタはどのくらいクソって議論しか取り合わない
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
>>37
外国人にはデザインパターンじゃないと
通じなかったよ
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って書く奴ざらにいるぞ
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)
押されたボタンに紐付く商品を取り出し口に落とす()
}
}

グローバル例外ハンドラ {
未処理例外イベント(例外) {
エラーログを出力する(例外)
}
}
2017/09/30(土) 17:45:39.05ID:kkTNvqls
DAOさん
2017/09/30(土) 18:37:38.64ID:MuV6ZELy
>>43
- 無限に入庫できるの?
- ボタン押せばお金入れて無くても商品出してくれるの?
- 在庫数取得中にラスト1個の出庫が発生すると商品出てこないね

早まった詳細化はよくあるデスマーチパターン
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は揚げ足取りで、現段階で必要な議論ではないと思う)
2017/09/30(土) 19:38:34.22ID:Cb9Aht4V
>>48
自販機クラスの構成の説明に使えないものはゴミなら、プログラミングの世界ってゴミばかりだねw
2017/09/30(土) 19:49:34.96ID:bL0j7tMv
>>49
そもそもお前らデザパタ厨は「『何に役立つから』デザパタを学ぶべきだ」という主張なんだ?
当然だが俺は、何にも役に立たないからゴミだ、という主張だ。
実際ここで使わないで、いつ使うんだ?という状況だろ。

> プログラミングの世界ってゴミばかりだねw
他に何がゴミだと思っている?
2017/09/30(土) 20:32:54.68ID:MuV6ZELy
>>47
え、じゃ>>43を書いた意味というか目的はなんなの?
2017/09/30(土) 20:34:28.53ID:/jgYbdHq
>>39
だろうな

>>42
マシならいいという風潮
2017/09/30(土) 20:47:17.95ID:Lb08y44X
>>50
> そもそもお前らデザパタ厨は「『何に役立つから』デザパタを学ぶべきだ」という主張なんだ?

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

あんたの世界が狭いんだろ?
フレームワークを使って、その中身だけを書いてる人は使わないだろうさ
自分の作ったアプリにプラグインの仕組みを取り入れようとしたり
テキストエディタなんかを作ろうと考えたら、必ずと行っていいほど使うよ。
2017/09/30(土) 20:58:31.09ID:bL0j7tMv
>>51
そりゃ>>26への回答だろ。
つか、俺は君の>>40-41よりも>>43の方が直接的で分かりやすいと思うが。
全部実装する必要もないし。

>>43
俺は48で何指向かと聞いたがこれは間違いだった。
これはOOPだね。見落とした。すまん。
2017/09/30(土) 21:05:07.39ID:bL0j7tMv
>>53
> 自分の作ったアプリにプラグインの仕組みを取り入れようとしたり
> テキストエディタなんかを作ろうと考えたら、必ずと行っていいほど使うよ。
ほう。何パターンを使うんだ?
前者は「DLL」、後者は前回も言ったがundoなら「逆方向履歴」等で、デザパタ用語は不要だろ。
これ以上に明快な説明をデザパタ用語でやってみろよ。
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況