前スレ
オブジェクト指向システムの設計 172
http://mevius.2ch.net/test/read.cgi/tech/1467992113
類似スレ
手続き型システムの設計 1
http://mevius.2ch.net/test/read.cgi/tech/1500282714
オブジェクト指向システムの設計 173 [無断転載禁止]©2ch.net
レス数が900を超えています。1000を超えると表示できなくなるよ。
1デフォルトの名無しさん
2017/08/08(火) 17:52:14.38ID:4Kd2O+xB841デフォルトの名無しさん
2017/09/23(土) 14:44:31.43ID:OVoD4rc5 ディベートのテクニックの一つだよ
相手が長文で攻めてきたら
長文はキモいの一言で
で相手の理論を論破できる
相手が長文で攻めてきたら
長文はキモいの一言で
で相手の理論を論破できる
842デフォルトの名無しさん
2017/09/23(土) 14:48:58.43ID:Z0Kw+Iw9 要点を絞れない
簡潔に説明できない
長文はアホの得意技
簡潔に説明できない
長文はアホの得意技
843デフォルトの名無しさん
2017/09/23(土) 14:49:33.57ID:j6VCxv0o >だからデザパタ単体で学習した方が整理される言語を学んでいるときは
>パターンより文法にコードリーディングしてるときは
>実装のテクニックに目が行きがちだしね
なるほど、確かに何言ってるか分からんな
>パターンより文法にコードリーディングしてるときは
>実装のテクニックに目が行きがちだしね
なるほど、確かに何言ってるか分からんな
844デフォルトの名無しさん
2017/09/23(土) 14:54:26.06ID:OVoD4rc5 >>842
それもディベートでよく使う。
基本相手の発言は遮って自分の発言で上書きするのが
テレビでもよく使われるテクニックだが、
相手がなにか言ってしまったら、
要点を絞ってもう一回発言してくださいと
逆に相手に同じことを言わせるというテクニックもある。
このテクニックをうまく使うと、要点を絞らせるから
相手がいいたいことを減らすことができる。
それもディベートでよく使う。
基本相手の発言は遮って自分の発言で上書きするのが
テレビでもよく使われるテクニックだが、
相手がなにか言ってしまったら、
要点を絞ってもう一回発言してくださいと
逆に相手に同じことを言わせるというテクニックもある。
このテクニックをうまく使うと、要点を絞らせるから
相手がいいたいことを減らすことができる。
845デフォルトの名無しさん
2017/09/23(土) 15:20:32.55ID:PshCXG8Z ×デザパタ
○デザインパターン
○デザインパターン
846デフォルトの名無しさん
2017/09/23(土) 15:24:18.47ID:Z1NsXN0c >>839
俺は「デザパタはクソ」派なんだが
俺は「デザパタはクソ」派なんだが
847デフォルトの名無しさん
2017/09/23(土) 15:25:09.29ID:qWNtk5Ea 長文書く奴は脳が女の脳してるからプログラムには向いてないんだよな。
848デフォルトの名無しさん
2017/09/23(土) 15:32:14.50ID:Z1NsXN0c >>840
ゆとりにとって「長くても読みやすい文章 (>>826)」とはこういうのらしい。
http://news.denfaminicogamer.jp/projectbook/zelda
これは対談なのでこの形式で問題ないとはいえ、やはり冗長感ありで、スレでも指摘されてた。
基本的には頭が悪い(脳内短期記憶バッファが小さい)から、長文を一度に読み込めず、
小学校1,2年生相手のように一つ一つ対話的に説明してくれないと分からないらしい。
(富豪レスではなく貧民レスじゃなきゃダメ)
ついでにScalaの説明をする奴がいないので少し調べているところだが、
Scala以前については大体これであってるな。
http://rirakkumya.hatenablog.com/entry/2013/04/20/093044
>>842
最近、その手の詭弁テクニックを使う奴激増したよな?
印象も重要なリアルのディベートならさておき、
ここでやる意味は全くないから意味不明なのだが、なんでだか分かる?
ゆとりにとって「長くても読みやすい文章 (>>826)」とはこういうのらしい。
http://news.denfaminicogamer.jp/projectbook/zelda
これは対談なのでこの形式で問題ないとはいえ、やはり冗長感ありで、スレでも指摘されてた。
基本的には頭が悪い(脳内短期記憶バッファが小さい)から、長文を一度に読み込めず、
小学校1,2年生相手のように一つ一つ対話的に説明してくれないと分からないらしい。
(富豪レスではなく貧民レスじゃなきゃダメ)
ついでにScalaの説明をする奴がいないので少し調べているところだが、
Scala以前については大体これであってるな。
http://rirakkumya.hatenablog.com/entry/2013/04/20/093044
>>842
最近、その手の詭弁テクニックを使う奴激増したよな?
印象も重要なリアルのディベートならさておき、
ここでやる意味は全くないから意味不明なのだが、なんでだか分かる?
849デフォルトの名無しさん
2017/09/23(土) 15:38:26.88ID:PFKg/P6i >>820
その等式、マジで全部間違ってるよ
その等式、マジで全部間違ってるよ
850デフォルトの名無しさん
2017/09/23(土) 15:39:56.99ID:Z1NsXN0c >>842
> 要点を絞ってもう一回発言してくださいと
> 逆に相手に同じことを言わせるというテクニックもある。
ちなみにこれ思い出した。
> プレゼンで一つ前のスライドに戻すように頼む
> http://netgeek.biz/archives/88894
> 要点を絞ってもう一回発言してくださいと
> 逆に相手に同じことを言わせるというテクニックもある。
ちなみにこれ思い出した。
> プレゼンで一つ前のスライドに戻すように頼む
> http://netgeek.biz/archives/88894
851デフォルトの名無しさん
2017/09/23(土) 15:40:40.91ID:qWNtk5Ea 曖昧で冗長で不正確で理解しにくいの4拍子そろってるな。
852デフォルトの名無しさん
2017/09/23(土) 15:46:15.97ID:Z1NsXN0c853デフォルトの名無しさん
2017/09/23(土) 16:37:32.08ID:47xDJ4SG お前ら、この状況をよく観察しろよ
そして、スルーの使い時を学ぶんだ
そして、スルーの使い時を学ぶんだ
854デフォルトの名無しさん
2017/09/23(土) 16:42:14.21ID:zdCb7/9/ >>848
読み辛いよ
読み辛いよ
855デフォルトの名無しさん
2017/09/23(土) 16:57:16.97ID:Z1NsXN0c >>854
では君が思う「長くても読みやすい文章」の例示よろ
では君が思う「長くても読みやすい文章」の例示よろ
856デフォルトの名無しさん
2017/09/23(土) 16:59:16.70ID:zdCb7/9/ え、やだ
857デフォルトの名無しさん
2017/09/23(土) 17:00:49.62ID:lJTicCY1858デフォルトの名無しさん
2017/09/23(土) 17:58:20.11ID:Z1NsXN0c そういえば.NETはオブザーバーは標準化済みでユーザタイプeventで使えたわ。
https://msdn.microsoft.com/ja-jp/library/edzehd2t(v=vs.110).aspx
https://msdn.microsoft.com/ja-jp/library/edzehd2t(v=vs.110).aspx
859デフォルトの名無しさん
2017/09/23(土) 20:29:44.01ID:b6I3iAXW >>794
>ストラテジーは継承そのもの
ストラテジーは委譲だよ
継承そのものと言えるのは
テンプレートメソッドの方
デザパタの基本じゃないか
>ここら辺の話について来れないのなら
上から目線で言ってて
間違ってりゃ世話ないな!
>ストラテジーは継承そのもの
ストラテジーは委譲だよ
継承そのものと言えるのは
テンプレートメソッドの方
デザパタの基本じゃないか
>ここら辺の話について来れないのなら
上から目線で言ってて
間違ってりゃ世話ないな!
860デフォルトの名無しさん
2017/09/23(土) 22:48:39.47ID:Z1NsXN0c >>859
テンプレートメソッドパターンは本来は依存関係なしのコード共通化=C++のテンプレート、C#のジェネリック
のような気がするが、まあそれならそれでよし。
・多態(継承/委譲)=テンプレートメソッドパターン、ストラテジーパターン、コンポジットパターン
・ファクトリーの多態=アブストラクトファクトリーパターン
で、これらは現在、ほぼ全ての場合に左側の用語が使われ、デザパタ用語はリストラ済みの認識でいいか?
テンプレートメソッドパターンは本来は依存関係なしのコード共通化=C++のテンプレート、C#のジェネリック
のような気がするが、まあそれならそれでよし。
・多態(継承/委譲)=テンプレートメソッドパターン、ストラテジーパターン、コンポジットパターン
・ファクトリーの多態=アブストラクトファクトリーパターン
で、これらは現在、ほぼ全ての場合に左側の用語が使われ、デザパタ用語はリストラ済みの認識でいいか?
861デフォルトの名無しさん
2017/09/23(土) 22:50:48.00ID:0YQdpVUK Smalltalkの話すると荒れるのなんで?
862デフォルトの名無しさん
2017/09/23(土) 23:12:24.68ID:b6I3iAXW >>860
>テンプレートメソッドパターン
>C++のテンプレート、C#のジェネリック
デザインパターンのテンプレートと
ジェネリックのテンプレートは関係ない
ジェネリックは型を汎用的に扱う仕組み
デザパタの方は処理を継承で共通化する仕組み
>ほぼ全ての場合に左側の用語が使われ
その確信の根拠はどこから来てるの?
多態はデザパタとは別の概念で
イコールで使われるようなものじゃないだろ
コンポジットパターンのことを指して
多態って言われても意味分からん
>テンプレートメソッドパターン
>C++のテンプレート、C#のジェネリック
デザインパターンのテンプレートと
ジェネリックのテンプレートは関係ない
ジェネリックは型を汎用的に扱う仕組み
デザパタの方は処理を継承で共通化する仕組み
>ほぼ全ての場合に左側の用語が使われ
その確信の根拠はどこから来てるの?
多態はデザパタとは別の概念で
イコールで使われるようなものじゃないだろ
コンポジットパターンのことを指して
多態って言われても意味分からん
863デフォルトの名無しさん
2017/09/23(土) 23:14:18.84ID:b6I3iAXW864デフォルトの名無しさん
2017/09/23(土) 23:15:33.02ID:OVoD4rc5 >>861
SmalltalkはOSと言語が合体している独自の世界だから
Smalltalk実行環境(=OS=開発環境)のみがコンピュータ上で動いており
Smalltalk実行環境は電源を消すまで動作しているという前提の話をするから
言語だけの話にならない。
例えば開発した新しいプログラムをOS上で起動するというのは
Smalltalkの世界では、Smalltalk実行環境上で新しいクラスを作って呼び出すということで
プログラムを一旦終了してバグを修正して再起動するということは
Smalltalkの世界では、ではクラスを動的に変更するということになる。
このように一般的なOSでは、プログラムの作成や修正という当たり前にできることが
Smalltakでは「オブジェクトは遅延結合が必要で動的に変更できなければならない」という
根拠になってしまっているから、お前らの世界では遅延結合や動的が必須なのだろうけど、
そのマイナーな世界を押し付けるな。そんなものはなくてもできる。という感じで荒れる
SmalltalkはOSと言語が合体している独自の世界だから
Smalltalk実行環境(=OS=開発環境)のみがコンピュータ上で動いており
Smalltalk実行環境は電源を消すまで動作しているという前提の話をするから
言語だけの話にならない。
例えば開発した新しいプログラムをOS上で起動するというのは
Smalltalkの世界では、Smalltalk実行環境上で新しいクラスを作って呼び出すということで
プログラムを一旦終了してバグを修正して再起動するということは
Smalltalkの世界では、ではクラスを動的に変更するということになる。
このように一般的なOSでは、プログラムの作成や修正という当たり前にできることが
Smalltakでは「オブジェクトは遅延結合が必要で動的に変更できなければならない」という
根拠になってしまっているから、お前らの世界では遅延結合や動的が必須なのだろうけど、
そのマイナーな世界を押し付けるな。そんなものはなくてもできる。という感じで荒れる
865デフォルトの名無しさん
2017/09/23(土) 23:33:54.47ID:PFKg/P6i >>861
良いSmalltalkerと悪いSmalltalkerがいて
このスレには後者が住んでるから
ケント・ベック、ウォード・カニンガム、エリック・エヴァンス、ラルフ・ジョンソンらは
Smalltalkを垣根を越えてこの世界に影響を与えた人達
日本だと羽生田さんとか
悪いSmalltalkerはSmalltalkの世界観に閉じこもって現実を見ない
技術力が無いから他に生かせないというのもある
良いSmalltalkerと悪いSmalltalkerがいて
このスレには後者が住んでるから
ケント・ベック、ウォード・カニンガム、エリック・エヴァンス、ラルフ・ジョンソンらは
Smalltalkを垣根を越えてこの世界に影響を与えた人達
日本だと羽生田さんとか
悪いSmalltalkerはSmalltalkの世界観に閉じこもって現実を見ない
技術力が無いから他に生かせないというのもある
866デフォルトの名無しさん
2017/09/23(土) 23:42:38.26ID:Z1NsXN0c >>862
C++のテンプレートなら、
継承関係ないクラスの同じ名前のメソッドを呼び出し側は共通に使えるんだよ。
静的ダックタイピングと言えば分かるか?
Javaはこれが出来ないから継承ありきになるだけであって。
> >ほぼ全ての場合に左側の用語が使われ
> その確信の根拠はどこから来てるの?
だって見たことないし。
ネットでも継承/委譲議論は見かけるが、わざわざデザパタ用語使ってる奴はいないだろ。
余計に分かりにくくなるだけだし。
元々>>703の質問がこれだが、君はリアルで使っているのか?
> 多態はデザパタとは別の概念で
> イコールで使われるようなものじゃないだろ
多態自体が本来はパターン(多態パターン)で、これはオブザーバー/ファクトリー/フライウエイト等と並べられるだろ。
継承/委譲は多態の実装方法であって、それらの組み合わせで○○パターンとか無駄に水増しするからデザパタはダメなんだよ。
C++のテンプレートなら、
継承関係ないクラスの同じ名前のメソッドを呼び出し側は共通に使えるんだよ。
静的ダックタイピングと言えば分かるか?
Javaはこれが出来ないから継承ありきになるだけであって。
> >ほぼ全ての場合に左側の用語が使われ
> その確信の根拠はどこから来てるの?
だって見たことないし。
ネットでも継承/委譲議論は見かけるが、わざわざデザパタ用語使ってる奴はいないだろ。
余計に分かりにくくなるだけだし。
元々>>703の質問がこれだが、君はリアルで使っているのか?
> 多態はデザパタとは別の概念で
> イコールで使われるようなものじゃないだろ
多態自体が本来はパターン(多態パターン)で、これはオブザーバー/ファクトリー/フライウエイト等と並べられるだろ。
継承/委譲は多態の実装方法であって、それらの組み合わせで○○パターンとか無駄に水増しするからデザパタはダメなんだよ。
867デフォルトの名無しさん
2017/09/23(土) 23:49:02.66ID:Z0Kw+Iw9 やはり長文はアホ
また証明されてしまったね
また証明されてしまったね
868デフォルトの名無しさん
2017/09/23(土) 23:57:20.81ID:zdCb7/9/ そりゃまとめる力がないからな
869デフォルトの名無しさん
2017/09/24(日) 00:10:40.58ID:rk9buIU7 まず自分の考えが正しいというのが第一にあって、そこに無理矢理デザパタの思想を当てはめようとするから、
なに言ってんだこいつ、みたいになる
誰だよお前、お前が考えてることなんて知らねえよ、お前の考え基準で説明されてもわかんねえよハゲっていう
なに言ってんだこいつ、みたいになる
誰だよお前、お前が考えてることなんて知らねえよ、お前の考え基準で説明されてもわかんねえよハゲっていう
870デフォルトの名無しさん
2017/09/24(日) 00:34:29.86ID:d6JjhuPW ハゲじゃねーよ!
871デフォルトの名無しさん
2017/09/24(日) 00:35:18.57ID:UM3Vm/oL 薄いだけだもんな
872デフォルトの名無しさん
2017/09/24(日) 01:09:02.05ID:ZoycLPfe873デフォルトの名無しさん
2017/09/24(日) 01:11:16.00ID:3BjqQEbI まあまあ落ち着けよ、ハゲ同士で喧嘩すんなって
874デフォルトの名無しさん
2017/09/24(日) 01:34:59.31ID:R8lp94JX >>872
それは既に書いただろ。日常的過ぎて言及されないが、あえて言うならそうだと。
Cでは(というか他言語も一般的にそうだが)引数が増え過ぎたら構造体にして見た目単純化するんだよ。
こんなのパターン(キリッされても困るわ。
それに文句言うのなら、ネット上でデザパタ用語使って制御構造議論してる奴探してこいよ。
俺は見たことないぞマジで。
ただまあ、平行線なら平行線でいいよ。
君は君の意思でデザパタを学び続ければいいだけだし、俺が同意する必要すらない。
それは既に書いただろ。日常的過ぎて言及されないが、あえて言うならそうだと。
Cでは(というか他言語も一般的にそうだが)引数が増え過ぎたら構造体にして見た目単純化するんだよ。
こんなのパターン(キリッされても困るわ。
それに文句言うのなら、ネット上でデザパタ用語使って制御構造議論してる奴探してこいよ。
俺は見たことないぞマジで。
ただまあ、平行線なら平行線でいいよ。
君は君の意思でデザパタを学び続ければいいだけだし、俺が同意する必要すらない。
875デフォルトの名無しさん
2017/09/24(日) 01:51:31.62ID:d6JjhuPW876デフォルトの名無しさん
2017/09/24(日) 01:53:02.97ID:d6JjhuPW 例えば、
if = 条件分岐制御
for = ループ処理
みたいなことだよ。
if = 条件分岐制御
for = ループ処理
みたいなことだよ。
877デフォルトの名無しさん
2017/09/24(日) 01:53:22.66ID:uS0xIQvj878デフォルトの名無しさん
2017/09/24(日) 01:54:33.21ID:uS0xIQvj >>875
え? え?
え? え?
879デフォルトの名無しさん
2017/09/24(日) 01:57:08.64ID:d6JjhuPW880デフォルトの名無しさん
2017/09/24(日) 02:02:05.28ID:d6JjhuPW 例えば
グローバル=シングルトン
というのは
まず>>820の盛大な勘違いを訂正しておくが、世の中で悪と言われているのは
グローバル「変数」であってグローバル「関数」やグローバル「オブジェクト」ではないということ
グローバル変数のどこがダメかというと、どこからでも
その変数に好きな値を入れてしまえるということ
(変数の型にあったものしか入れられないという制約は有るものの)
グローバル関数はそもそも値を入れるものではないし、
グローバルオブジェクトはpublic変数なんてものは当然禁止で
関数経由で代入するので自由な値は入れられない。
そういった制限ができない時点でグローバル変数では
シングルトンの代替にはならないが、
小規模プログラムで、気をつけて使えばシングルトンの
代わりにならないことはないという点で
かろうじてグローバルでも実装可能
グローバル=シングルトン
というのは
まず>>820の盛大な勘違いを訂正しておくが、世の中で悪と言われているのは
グローバル「変数」であってグローバル「関数」やグローバル「オブジェクト」ではないということ
グローバル変数のどこがダメかというと、どこからでも
その変数に好きな値を入れてしまえるということ
(変数の型にあったものしか入れられないという制約は有るものの)
グローバル関数はそもそも値を入れるものではないし、
グローバルオブジェクトはpublic変数なんてものは当然禁止で
関数経由で代入するので自由な値は入れられない。
そういった制限ができない時点でグローバル変数では
シングルトンの代替にはならないが、
小規模プログラムで、気をつけて使えばシングルトンの
代わりにならないことはないという点で
かろうじてグローバルでも実装可能
881デフォルトの名無しさん
2017/09/24(日) 02:07:55.77ID:d6JjhuPW > 構造体渡し=コマンドパターン(ただしこれはCでは日常的過ぎてパターンだとも認識されてない)
「構造体渡し」というのが(実装レベルの)パターンの名前だよ
構造体があるのは一部の言語で、通常はクラスのインスタンス(=オブジェクト)渡しということになる。
要するに引き数をオブジェクトにするということ。
つまり引き数が多いから、コマンドパターンを使いましょう。
=引き数をオブジェクトにして実装するということですね!
ということで、パターンがやりたいことで
実装方法がオブジェクトだったり構造体だったりするということ
構造体渡しというのはあくまでオブジェクトがないC言語での実装方法であって
反対に構造体がない言語ではオブジェクト渡しとなる。
その2つを抽象化したものがコマンドパターン。
例えば言語が決定してない時点で構造体渡しを使いましょうなんて言えないじゃないか
構造街があるかないかわからんのだから
だから設計時点での言い方として「構造体渡しという実装方法の名前」ではなく
「コマンドパターンという名前」を用いる
「構造体渡し」というのが(実装レベルの)パターンの名前だよ
構造体があるのは一部の言語で、通常はクラスのインスタンス(=オブジェクト)渡しということになる。
要するに引き数をオブジェクトにするということ。
つまり引き数が多いから、コマンドパターンを使いましょう。
=引き数をオブジェクトにして実装するということですね!
ということで、パターンがやりたいことで
実装方法がオブジェクトだったり構造体だったりするということ
構造体渡しというのはあくまでオブジェクトがないC言語での実装方法であって
反対に構造体がない言語ではオブジェクト渡しとなる。
その2つを抽象化したものがコマンドパターン。
例えば言語が決定してない時点で構造体渡しを使いましょうなんて言えないじゃないか
構造街があるかないかわからんのだから
だから設計時点での言い方として「構造体渡しという実装方法の名前」ではなく
「コマンドパターンという名前」を用いる
882デフォルトの名無しさん
2017/09/24(日) 02:15:14.31ID:d6JjhuPW > ラッパ=アダプターパターン(だと思う)
これは>>820の勘違いがよく分かる例だな
アダプタパターンというのは、
電源アダプタと同じく、どんな電気機器でも
アダプタを使えばコンセントにさせるということで、
互換性がないものを、ある共通のインターフェースに
適合できるように変換するもののことを指す。
だからラッパという手段を用いることで
アダプタパターンを実装できるが、
だがラッパというのは別にある共通のインターフェースに
適合させる必要はない
あるライブラリがC言語用のAPIしか備えておらず
オブジェクト指向的には使いづらいから、APIのラッパを
作ってオブジェクト指向風に使えるようにするなんてのもある。
これはラッパは必ずしもアダプタパターンが要求している、
ある共通のインターフェースに適合させるなんてことはしていないが、
ラッパを使ってもできる場合があるということでやっぱり実装方法の話題なのさ
これは>>820の勘違いがよく分かる例だな
アダプタパターンというのは、
電源アダプタと同じく、どんな電気機器でも
アダプタを使えばコンセントにさせるということで、
互換性がないものを、ある共通のインターフェースに
適合できるように変換するもののことを指す。
だからラッパという手段を用いることで
アダプタパターンを実装できるが、
だがラッパというのは別にある共通のインターフェースに
適合させる必要はない
あるライブラリがC言語用のAPIしか備えておらず
オブジェクト指向的には使いづらいから、APIのラッパを
作ってオブジェクト指向風に使えるようにするなんてのもある。
これはラッパは必ずしもアダプタパターンが要求している、
ある共通のインターフェースに適合させるなんてことはしていないが、
ラッパを使ってもできる場合があるということでやっぱり実装方法の話題なのさ
883デフォルトの名無しさん
2017/09/24(日) 02:25:31.82ID:ZoycLPfe >>881
>つまり引き数が多いから、コマンドパターンを使いましょう
眠いから要点だけ言うが
引数を圧縮したいだけなら配列渡しでもいい場合があるよな
逆にコマンドパターンは引数がひとつでも使う場合もある
コマンドパターンはもっと汎用的な抽象化技法で
要求をオブジェクトにすることで
アンドゥの挙動が実現できたりする
>つまり引き数が多いから、コマンドパターンを使いましょう
眠いから要点だけ言うが
引数を圧縮したいだけなら配列渡しでもいい場合があるよな
逆にコマンドパターンは引数がひとつでも使う場合もある
コマンドパターンはもっと汎用的な抽象化技法で
要求をオブジェクトにすることで
アンドゥの挙動が実現できたりする
884デフォルトの名無しさん
2017/09/24(日) 02:28:03.87ID:uS0xIQvj885デフォルトの名無しさん
2017/09/24(日) 02:32:19.28ID:d6JjhuPW はい。ググって正しいことを証明します。
http://www.techscore.com/tech/DesignPattern/Command.html/
第22章ではCommandパターンを学びます。あるオブジェクトに対して要求を送るということは、
そのオブジェクトのメソッドを呼び出すことと同じです。
そして、メソッドにどのような引数を渡すか、ということによって要求の内容は表現されます。
さまざまな要求を送ろうとすると、引数の数や種類を増やさなければなりませんが、
それには限界があります。そこで要求自体をオブジェクトにしてしまい、
そのオブジェクトを引数に渡すようにします。それがCommandパターンです。
http://www.techscore.com/tech/DesignPattern/Command.html/
第22章ではCommandパターンを学びます。あるオブジェクトに対して要求を送るということは、
そのオブジェクトのメソッドを呼び出すことと同じです。
そして、メソッドにどのような引数を渡すか、ということによって要求の内容は表現されます。
さまざまな要求を送ろうとすると、引数の数や種類を増やさなければなりませんが、
それには限界があります。そこで要求自体をオブジェクトにしてしまい、
そのオブジェクトを引数に渡すようにします。それがCommandパターンです。
886デフォルトの名無しさん
2017/09/24(日) 02:51:01.08ID:uS0xIQvj >>885
その説明文自体が悪いし書いてるコードも理解してないだろ
これ見てざっくり理解して
http://python-3-patterns-idioms-test.readthedocs.io/en/latest/FunctionObjects.html#command-choosing-the-operation-at-runtime
それ理解したらundoが入ってる例を探すといい
タスクをキューに入れる場合なんかにもよく使われてる
その説明文自体が悪いし書いてるコードも理解してないだろ
これ見てざっくり理解して
http://python-3-patterns-idioms-test.readthedocs.io/en/latest/FunctionObjects.html#command-choosing-the-operation-at-runtime
それ理解したらundoが入ってる例を探すといい
タスクをキューに入れる場合なんかにもよく使われてる
887デフォルトの名無しさん
2017/09/24(日) 05:14:10.07ID:5g9dg2+V >>861
使えない人がいるから
使えない人がいるから
888デフォルトの名無しさん
2017/09/24(日) 07:10:11.71ID:8QRYtBFv デザパタは現場で使ってない
889デフォルトの名無しさん
2017/09/24(日) 08:08:05.85ID:Oc3oIVgi 相変わらず低レベルなやつほど長文で連投するねこのスレ
890デフォルトの名無しさん
2017/09/24(日) 08:19:44.51ID:8QRYtBFv ホントだよ
現場ではデザパタなんて使ってないっていうのに
現場ではデザパタなんて使ってないっていうのに
891デフォルトの名無しさん
2017/09/24(日) 09:46:34.11ID:asf3lmyK >>889
自分が何を知っていて何を知っていないかにすら無自覚だから
知らないところを無意識に嘘や想像や見栄で補って膨らませて
フワフワの長文合戦になる
十分な知識かマナーがあれば、どちらかがあれば、こうはならない
自分が何を知っていて何を知っていないかにすら無自覚だから
知らないところを無意識に嘘や想像や見栄で補って膨らませて
フワフワの長文合戦になる
十分な知識かマナーがあれば、どちらかがあれば、こうはならない
892デフォルトの名無しさん
2017/09/24(日) 09:52:22.19ID:L7/sMAP/ でも自分で思ってるコマンドパターンが明らかに間違ってて
もう恥ずかしくて出てこれないでしょ
構造体渡し=コマンドパターン とか初めて見たわ
もう恥ずかしくて出てこれないでしょ
構造体渡し=コマンドパターン とか初めて見たわ
893デフォルトの名無しさん
2017/09/24(日) 10:06:43.49ID:R8lp94JX894デフォルトの名無しさん
2017/09/24(日) 10:10:41.01ID:R8lp94JX >>886、訂正
・関数ポインタ/関数オブジェクト/callback=コマンドパターン
> Design Patterns says that “Commands are an object-oriented replacement for callbacks.”
・関数ポインタ/関数オブジェクト/callback=コマンドパターン
> Design Patterns says that “Commands are an object-oriented replacement for callbacks.”
895デフォルトの名無しさん
2017/09/24(日) 10:22:53.31ID:yvoGeauV >>890
相撲の決まり手みたいなもので
当人は意識せずに作ってて後からこれは、て分類しているようなものだから
先にパターンありきではないし、パターンを理解していなければ作れないということはない
ただ設計時・作成時に、ここはこのパターンを使う、って明示できる場合には
そのパターン名をモジュールの名前につけることで
設計書の記述を省略できたり、後からコードを見た時に理解しやすくなるという利点がある
相撲の決まり手みたいなもので
当人は意識せずに作ってて後からこれは、て分類しているようなものだから
先にパターンありきではないし、パターンを理解していなければ作れないということはない
ただ設計時・作成時に、ここはこのパターンを使う、って明示できる場合には
そのパターン名をモジュールの名前につけることで
設計書の記述を省略できたり、後からコードを見た時に理解しやすくなるという利点がある
896デフォルトの名無しさん
2017/09/24(日) 10:28:00.99ID:sQZN3/qk897デフォルトの名無しさん
2017/09/24(日) 10:39:05.39ID:R8lp94JX >>895
前半は同意だが、、、
> そのパターン名をモジュールの名前につけることで
> 設計書の記述を省略できたり、後からコードを見た時に理解しやすくなるという利点がある
ねーよ。StrategyMyModule とか恥ずかしすぎるし余計分かりにくいわ。
前半は同意だが、、、
> そのパターン名をモジュールの名前につけることで
> 設計書の記述を省略できたり、後からコードを見た時に理解しやすくなるという利点がある
ねーよ。StrategyMyModule とか恥ずかしすぎるし余計分かりにくいわ。
898デフォルトの名無しさん
2017/09/24(日) 10:44:17.50ID:dIaNhcU3899デフォルトの名無しさん
2017/09/24(日) 10:45:29.83ID:dIaNhcU3 >>894
> ・関数ポインタ/関数オブジェクト/callback=コマンドパターン
だ、あらそれ、コマンドパターンというパターンを
関数ポインタ/関数オブジェクト/callbackで
実装しますって話だよね?
> ・関数ポインタ/関数オブジェクト/callback=コマンドパターン
だ、あらそれ、コマンドパターンというパターンを
関数ポインタ/関数オブジェクト/callbackで
実装しますって話だよね?
900デフォルトの名無しさん
2017/09/24(日) 10:48:01.59ID:sQZN3/qk901デフォルトの名無しさん
2017/09/24(日) 10:48:10.22ID:dIaNhcU3 undoを実装するにはどうしたら良いでしょうか?
正解 コマンドパターンを使います。
undoを実装するにはどうしたら良いでしょうか?
誤答 関数ポインタを使います。
え? 関数ポインタ?
関数オブジェクトも使います。
え? 関数オブジェクト?
コールバックも使います。
え?コールバック?
それらを使って実装します。
だからそれらを使ってどのように実装しますかって話なんですが? 👀
Rock54: Caution(BBR-MD5:0be15ced7fbdb9fdb4d0ce1929c1b82f)
正解 コマンドパターンを使います。
undoを実装するにはどうしたら良いでしょうか?
誤答 関数ポインタを使います。
え? 関数ポインタ?
関数オブジェクトも使います。
え? 関数オブジェクト?
コールバックも使います。
え?コールバック?
それらを使って実装します。
だからそれらを使ってどのように実装しますかって話なんですが? 👀
Rock54: Caution(BBR-MD5:0be15ced7fbdb9fdb4d0ce1929c1b82f)
902デフォルトの名無しさん
2017/09/24(日) 10:49:08.03ID:rk9buIU7 >>897
StrategyMyModuleはないわww
StrategyMyModuleはないわww
903デフォルトの名無しさん
2017/09/24(日) 11:09:57.56ID:sQZN3/qk ID:R8lp94JX
ラッパでも吹いてろゴミゆとりwwwwwwwwwwwwwwwww
ラッパでも吹いてろゴミゆとりwwwwwwwwwwwwwwwww
904デフォルトの名無しさん
2017/09/24(日) 11:15:24.97ID:R8lp94JX905デフォルトの名無しさん
2017/09/24(日) 11:20:12.29ID:zoxaw5LC >>893
構造体とオブジェクトの違いがわからない(理解しようとしない)クズ
構造体とオブジェクトの違いがわからない(理解しようとしない)クズ
906デフォルトの名無しさん
2017/09/24(日) 11:56:26.32ID:dIaNhcU3907デフォルトの名無しさん
2017/09/24(日) 11:58:08.61ID:dIaNhcU3908デフォルトの名無しさん
2017/09/24(日) 12:10:37.74ID:rk9buIU7 >>904
なんとかパターン(キリッ
普通のプログラマがふっつーに語彙として使ってるパターン名を、お前はドヤ顔されてるように感じちゃうからイライラするんだな
勝手にイライラしてる人ってたまにいるけど、お前もそっちだったか
なんとかパターン(キリッ
普通のプログラマがふっつーに語彙として使ってるパターン名を、お前はドヤ顔されてるように感じちゃうからイライラするんだな
勝手にイライラしてる人ってたまにいるけど、お前もそっちだったか
909デフォルトの名無しさん
2017/09/24(日) 12:44:49.84ID:5g9dg2+V これはヤバイ
901 デフォルトの名無しさん sage 2017/09/24(日) 10:48:10.22 ID:dIaNhcU3
undoを実装するにはどうしたら良いでしょうか?
正解 コマンドパターンを使います。
901 デフォルトの名無しさん sage 2017/09/24(日) 10:48:10.22 ID:dIaNhcU3
undoを実装するにはどうしたら良いでしょうか?
正解 コマンドパターンを使います。
910デフォルトの名無しさん
2017/09/24(日) 12:48:49.90ID:dIaNhcU3 そして理由を書かない
いつものパターン(笑)
いつものパターン(笑)
911デフォルトの名無しさん
2017/09/24(日) 12:49:33.29ID:sQZN3/qk912デフォルトの名無しさん
2017/09/24(日) 12:50:06.83ID:sQZN3/qk913デフォルトの名無しさん
2017/09/24(日) 12:58:38.50ID:5g9dg2+V914デフォルトの名無しさん
2017/09/24(日) 12:58:45.83ID:R8lp94JX915デフォルトの名無しさん
2017/09/24(日) 13:03:51.26ID:Oc3oIVgi916デフォルトの名無しさん
2017/09/24(日) 13:04:36.29ID:rk9buIU7 >>914
GitHubでパターン名を検索するくらいの知恵もないのか
GitHubでパターン名を検索するくらいの知恵もないのか
917デフォルトの名無しさん
2017/09/24(日) 13:11:14.14ID:sQZN3/qk918デフォルトの名無しさん
2017/09/24(日) 13:17:39.49ID:R8lp94JX >>913
なるほど以下を見る限り、undoはmementoだな。
http://www.techscore.com/tech/DesignPattern/Memento.html/
とはいえ、デザパタに頼る=デザパタが無いと何も出来ないから、というのはよく分かった。
undoすらパターン提示されないと作れない程馬鹿なのね。
・スナップショット+正方向履歴=メメントパターン
mementoってパターンにする必要ないほどのゴミだろ。この程度でいちいち命名してたらきりがない。
なるほど以下を見る限り、undoはmementoだな。
http://www.techscore.com/tech/DesignPattern/Memento.html/
とはいえ、デザパタに頼る=デザパタが無いと何も出来ないから、というのはよく分かった。
undoすらパターン提示されないと作れない程馬鹿なのね。
・スナップショット+正方向履歴=メメントパターン
mementoってパターンにする必要ないほどのゴミだろ。この程度でいちいち命名してたらきりがない。
919デフォルトの名無しさん
2017/09/24(日) 13:20:45.50ID:rk9buIU7 >>913
> とはいえ、デザパタに頼る=デザパタが無いと何も出来ないから、というのはよく分かった。
> undoすらパターン提示されないと作れない程馬鹿なのね。
そうやって相手の程度を決めつけないと上に立てないほど自信がないのはよくわかった。
って言い返されたいパターン?
> とはいえ、デザパタに頼る=デザパタが無いと何も出来ないから、というのはよく分かった。
> undoすらパターン提示されないと作れない程馬鹿なのね。
そうやって相手の程度を決めつけないと上に立てないほど自信がないのはよくわかった。
って言い返されたいパターン?
920デフォルトの名無しさん
2017/09/24(日) 13:21:21.52ID:Oc3oIVgi マウントパターン
921デフォルトの名無しさん
2017/09/24(日) 13:25:26.63ID:dIaNhcU3 >>918
> mementoってパターンにする必要ないほどのゴミだろ。この程度でいちいち命名してたらきりがない。
じゃあmementoって名前を使わずに
mementoの話をしてくださいな。
自分でmementoって言ってるくせになぁw
> mementoってパターンにする必要ないほどのゴミだろ。この程度でいちいち命名してたらきりがない。
じゃあmementoって名前を使わずに
mementoの話をしてくださいな。
自分でmementoって言ってるくせになぁw
922デフォルトの名無しさん
2017/09/24(日) 13:41:52.80ID:R8lp94JX デザパタ派はアルゴリズムを考えることを全くせず、既存パターンからコピペすることは分かった。
この場合、パターンは手持ちのカードだから、無理にでも増やそうとするのも分かる。
実際、馬鹿にプログラムさせる場合はこの方が捗るかもしれん。この感覚は俺にはなかった。
この場合、パターンは手持ちのカードだから、無理にでも増やそうとするのも分かる。
実際、馬鹿にプログラムさせる場合はこの方が捗るかもしれん。この感覚は俺にはなかった。
923デフォルトの名無しさん
2017/09/24(日) 13:49:00.51ID:L7/sMAP/ たしかに、引数が多いのをまとめるために構造体渡しにすることを
コマンドパターンとか言っちゃうオツムの人にとっては
デザインパターンは便利かもしれないね
コマンドパターンとか言っちゃうオツムの人にとっては
デザインパターンは便利かもしれないね
924デフォルトの名無しさん
2017/09/24(日) 13:52:17.29ID:L7/sMAP/ 同時に、コマンドパターンを見て
引数が多いのをまとめるために構造体渡しにすることと同一だと
思ってしまうオツムのひとは
デザインパターンを学んでも理解できないわけだから
それ以前の知能が足りてないという意味で役に立たないだろうね
こういう人は本を読んでも、誰かに説明を受けても
理解できない、知識が吸収できない、抽象的なことが理解できない
わけだから、常に場当たり的に対応するしかないね
会話も成り立たないし
引数が多いのをまとめるために構造体渡しにすることと同一だと
思ってしまうオツムのひとは
デザインパターンを学んでも理解できないわけだから
それ以前の知能が足りてないという意味で役に立たないだろうね
こういう人は本を読んでも、誰かに説明を受けても
理解できない、知識が吸収できない、抽象的なことが理解できない
わけだから、常に場当たり的に対応するしかないね
会話も成り立たないし
925デフォルトの名無しさん
2017/09/24(日) 13:57:45.31ID:dIaNhcU3 >>922
> デザパタ派はアルゴリズムを考えることを全くせず、既存パターンからコピペすることは分かった。
いやそりゃそうだろw
設計はアルゴリズムじゃない。
アルゴリズムは処理だが、
設計は構造だ
お前全く分かってないじゃないかw
> デザパタ派はアルゴリズムを考えることを全くせず、既存パターンからコピペすることは分かった。
いやそりゃそうだろw
設計はアルゴリズムじゃない。
アルゴリズムは処理だが、
設計は構造だ
お前全く分かってないじゃないかw
926デフォルトの名無しさん
2017/09/24(日) 14:08:32.54ID:dIaNhcU3 アルゴリズムにも名前ついてるの知らないのかな?
コピペはしませーん。
他の人が作ったアルゴリズムのライブラリを
使うだけだからコピペじゃありませーんって
言うつもりなのだろうか?
コピペはしませーん。
他の人が作ったアルゴリズムのライブラリを
使うだけだからコピペじゃありませーんって
言うつもりなのだろうか?
927デフォルトの名無しさん
2017/09/24(日) 14:31:19.48ID:R8lp94JX >>926
旧来の貧民プログラマにとってundo実装の第一選択肢は「逆方向履歴」なんだよ。
これがダメな場合は「スナップショット+正方向履歴」になる。
君はこのことにすら気づけない程の馬鹿だ。
しかし、実際、後者のほうが圧倒的に簡単だから、馬鹿には後者を押し付けておけ、というのは合ってるんだよ。
俺はC出身だから「馬鹿はプログラミングするな」という感覚なのだが、
昨今は文系馬鹿もプログラミングする機会があるわけだし、デザパタ洗脳も現実解としてはありなのかもしれん。
出来ない奴に考えさせたら永久にループするからね。
JavaでOOPこそが正義と洗脳するのも似たようなもんだし。
旧来の貧民プログラマにとってundo実装の第一選択肢は「逆方向履歴」なんだよ。
これがダメな場合は「スナップショット+正方向履歴」になる。
君はこのことにすら気づけない程の馬鹿だ。
しかし、実際、後者のほうが圧倒的に簡単だから、馬鹿には後者を押し付けておけ、というのは合ってるんだよ。
俺はC出身だから「馬鹿はプログラミングするな」という感覚なのだが、
昨今は文系馬鹿もプログラミングする機会があるわけだし、デザパタ洗脳も現実解としてはありなのかもしれん。
出来ない奴に考えさせたら永久にループするからね。
JavaでOOPこそが正義と洗脳するのも似たようなもんだし。
928デフォルトの名無しさん
2017/09/24(日) 14:34:09.72ID:dIaNhcU3929デフォルトの名無しさん
2017/09/24(日) 14:47:05.63ID:99mn0O+v930デフォルトの名無しさん
2017/09/24(日) 14:47:11.92ID:R8lp94JX >>928
上司がお前らを馬鹿と見極めて「デザパタ洗脳」していたとしたら、全て辻褄が合うんだよ。
上司がお前らを馬鹿と見極めて「デザパタ洗脳」していたとしたら、全て辻褄が合うんだよ。
931デフォルトの名無しさん
2017/09/24(日) 14:48:22.76ID:dIaNhcU3 お前ん中ではな(笑)
932デフォルトの名無しさん
2017/09/24(日) 15:51:48.82ID:sQZN3/qk 喚くだけの基地害
こんなやつとは絶対に一緒に仕事したくないな
こんなやつとは絶対に一緒に仕事したくないな
933デフォルトの名無しさん
2017/09/24(日) 16:00:01.88ID:/PuckvVk934デフォルトの名無しさん
2017/09/24(日) 16:08:12.02ID:uS0xIQvj >>933
undo stack
undo stack
935デフォルトの名無しさん
2017/09/24(日) 16:18:43.21ID:L7/sMAP/ テキストエディタのUndoぐらいならわけない
何処までの操作を1コマンドとするかというのは有るが
まぁできるよこれぐらいは
Redo、Undoでメモリ節約のため差分を取っていく方式なら
全てのデータの変更の差分を取っておかないと上手くいかないが
そのデータが自分の管轄外の外部からも編集可能だった場合は難しい
腕の見せ所
何処までの操作を1コマンドとするかというのは有るが
まぁできるよこれぐらいは
Redo、Undoでメモリ節約のため差分を取っていく方式なら
全てのデータの変更の差分を取っておかないと上手くいかないが
そのデータが自分の管轄外の外部からも編集可能だった場合は難しい
腕の見せ所
936デフォルトの名無しさん
2017/09/24(日) 16:20:14.18ID:L7/sMAP/ つまりは差分を取っていくといっても
外部からも勝手に変更されるので
完ぺきには出来ないから
ある程度ファジーなつくりにする必要があるんだわ
外部からも勝手に変更されるので
完ぺきには出来ないから
ある程度ファジーなつくりにする必要があるんだわ
937デフォルトの名無しさん
2017/09/24(日) 16:27:00.69ID:L7/sMAP/ 例えばA→AB→ABCっていう編集なら
差分を取るのは簡単だし、元に戻すのも簡単だけど
他所のソフトからリアルタイムで「B」が削除されたとして
それは自分のソフトからも検出可能かもしれないが
自分のソフトから「B」を消したわけじゃないから
自分のソフトのUndoコマンドリストに入れるのはおかしな話だし
でも実際「B」は無くなってるわけで・・・
この辺下手にやるとRedo動作で消したはずの「B」が復活したりする
このような場合は若干難しい
差分を取るのは簡単だし、元に戻すのも簡単だけど
他所のソフトからリアルタイムで「B」が削除されたとして
それは自分のソフトからも検出可能かもしれないが
自分のソフトから「B」を消したわけじゃないから
自分のソフトのUndoコマンドリストに入れるのはおかしな話だし
でも実際「B」は無くなってるわけで・・・
この辺下手にやるとRedo動作で消したはずの「B」が復活したりする
このような場合は若干難しい
938デフォルトの名無しさん
2017/09/24(日) 16:53:15.51ID:Oc3oIVgi939デフォルトの名無しさん
2017/09/24(日) 17:06:20.42ID:gFeQddMX940デフォルトの名無しさん
2017/09/24(日) 17:12:54.02ID:R8lp94JX >>937
無能らしくきちんとメメントパターンにすがれ
無能らしくきちんとメメントパターンにすがれ
レス数が900を超えています。1000を超えると表示できなくなるよ。
ニュース
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★4 [ぐれ★]
- 【音楽】Perfume・あ~ちゃんの結婚相手「一般男性」は吉田カバンの社長・吉田幸裕氏(41) 高身長で山本耕史似 [Ailuropoda melanoleuca★]
- 【大分】佐賀関で大規模火災、170棟以上が延焼中 70代男性1人と連絡取れず [ぐれ★]
- 【サッカー】U-17日本代表、激闘PK戦制す 北朝鮮撃破で6大会ぶり8強入り U17W杯 [久太郎★]
- 【インバウンド】中国人観光客の日本での消費額は年間約2兆円超…中国政府は公務員の出張取り消し [1ゲットロボ★]
- 「クマはなるべく山に返す努力を」「クマと戦争は間違っている」動物保護活動家の主張 棲み分けと学習放獣でクマ被害なくなるのか?★7 [ぐれ★]
- アンケート調査で「高市発言は問題なし」 93.5%wwwwwwwwwwwwwwwwwwwwwwwww [279254606]
- 自閉症が「んなっしょい」と連呼するお🏡
- 現役猟師・俳優 東出昌大が語る「クマはそんな危ないもんじゃない」
- 【悲報】大分市佐賀関の火事、20軒→170軒に延焼🔥 [481941988]
- 日本人の海外旅行したきのマナーよくなったのはいつから
- へそグリグリ
