オブジェクト指向は愚かな考え。この世は計算式 ★3©2ch.net (961レス)
上下前次1-新
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん
592: デフォルトの名無しさん [sage] 2016/08/04(木)00:19 ID:jTAWnEUa(1/22)
> クロージャで実装しているのだから、
クロージャで "何を" 実装しているの?
594: デフォルトの名無しさん [sage] 2016/08/04(木)00:25 ID:jTAWnEUa(2/22)
いや、何を実装したのかを聞いたんだが?
実装したものは何?
597(1): デフォルトの名無しさん [sage] 2016/08/04(木)00:34 ID:jTAWnEUa(3/22)
>>595
パターンは機能じゃないよ。設計。
デコレータパターンという設計
この設計の実装はいろいろある。
決まっていない。
Javaだったらクラスで実装し
クロージャーでも実装できるってだけの話。
598: デフォルトの名無しさん [sage] 2016/08/04(木)00:36 ID:jTAWnEUa(4/22)
wikipediaにすら書いてあるしw
https://ja.wikipedia.org/wiki/%E3%83%87%E3%82%B6%E3%82%A4%E3%83%B3%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3_(%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2)
デザインパターンは、よく使われる設計を一般化された形でまとめたものに過ぎない。
そのため、具体的な実装を提供するものではなく、
あくまでもコンセプトとして参照されることが意図されている。
つまり、サンプルコードは、実装例に過ぎない。
601: デフォルトの名無しさん [sage] 2016/08/04(木)00:45 ID:jTAWnEUa(5/22)
>>599
わざわざ複雑にしないでいいよw
やりたいことがある。
でも説明するのが面倒くさい。
じゃあ「デコレーターパターン」と呼びましょう。
これで話は通じてるじゃん。
だからこれだけの情報でコードを書くことができる。
そのデコレーターパターンを
クロージャーで実装したんでしょ?
そういえば良いんだよ。
602: デフォルトの名無しさん [sage] 2016/08/04(木)00:48 ID:jTAWnEUa(6/22)
>>600
じゃあ一緒に勉強していきましょう(笑)
http://www.techscore.com/tech/DesignPattern/foundation/foundation1.html/#dp0-2
> 前章でも説明したとおり、デザインパターンとは、「よく出会う問題とそれにうまく対処するための設計」を
> まとめたものです。 デザインパターンを利用するメリットとして、最初にあげられるのが、
> 「再利用性の高い柔軟な設計ができる」という点です。各パターンには、多くの知恵が凝縮されています。
> これまでは、設計者の直感や経験などに依存していた設計が、デザインパターンを導入することで、
> 初心者でも先人たちが詰め込んだ「知恵」を利用した設計をすることが可能となります。
> また、先人たちの知恵を参考にすることで、設計力の向上も期待できます。
>
> 次のメリットは、「技術者どうしの意思疎通が容易になる」ことが挙げられます。
> デザインパターンを習得している技術者どうしであれば、設計について相談するとき
> 「Singleton パターンで行きましょう」とか「Strategy パターンが応用できるのではないでしょうか」と
> いうようにパターン名で設計の概要の合意を取ることが可能です。デザインパターンを
> 習得していない技術者には「こんなクラスを作って、このクラスはこんな役割を持っていて・・・。」と
> 延々と説明しなければなりません。このように、デザインパターンを学習しておくことで
> 開発者どうしの意思疎通がスムースになるのです。
あなたは何で勉強していますか?
606: デフォルトの名無しさん [sage] 2016/08/04(木)03:16 ID:jTAWnEUa(7/22)
やっぱりデザインパターンを
実装パターンと勘違いしているとしか思えないな。
まず大前提としてデザインパターンに言語は関係ない。
だから言語は関係なく設計の話、
オブジェクト指向での設計の話を考える。
そうするとそこにデザインパターンが出てくる
ここまでで言語の話は出てこないから
当然実装の話もでてこないんだよ。
607: デフォルトの名無しさん [sage] 2016/08/04(木)03:18 ID:jTAWnEUa(8/22)
OOPじゃなくてC言語でも当てはまる話だよね。
シングルトンやデコレータなどは。
C言語であってもオブジェクト指向で設計していれば
自然とデザインパターンは出てくる。
609: デフォルトの名無しさん [sage] 2016/08/04(木)09:14 ID:jTAWnEUa(9/22)
>>608
それはオレオレ定義ですよね。
612(2): デフォルトの名無しさん [sage] 2016/08/04(木)09:33 ID:jTAWnEUa(10/22)
> だから、GoFはSmalltalkなら簡単に記述できる構造や機能を
> JavaやC++の表現力で解決する妥協案を集めたものなの。
じゃあなんでこんな本が存在するんですか?w
Rubyによるデザインパターン-Russ-Olsen/
https://www.amazon.co.jp/dp/4894712857
JavaScriptデザインパターン
https://www.oreilly.co.jp/books/9784873116181/
The Design Patterns Smalltalk Companion
https://www.amazon.com/dp/0201184621
616: デフォルトの名無しさん [sage] 2016/08/04(木)09:38 ID:jTAWnEUa(11/22)
>>615
え?捨て台詞?w
641: デフォルトの名無しさん [sage] 2016/08/04(木)20:21 ID:jTAWnEUa(12/22)
>>635
> デコレータパターンという、修飾オブジェクトで被修飾オブジェクトでラップして、両者を同じ基底クラスから派生させることで型に互換性を持たせる、
修飾オブジェクトで被修飾オブジェクトでラップしてっていうのは
Javaでの実装であって、Rubyのデコレーターパターンには必須ではないよ。
642(1): デフォルトの名無しさん [sage] 2016/08/04(木)20:23 ID:jTAWnEUa(13/22)
デコレータパターンは言語によっていろんな実装が有って
Javaでは修飾オブジェクトで被修飾オブジェクトでラップして、両者を同じ基底クラスから派生させることで
型に互換性を持たせる、というバッドノウハウが静的型OOPLだから必要になるけど、
デコレーターパターンはSmalltalkでクロージャを使った実装で実現できる。
644(1): デフォルトの名無しさん [sage] 2016/08/04(木)20:41 ID:jTAWnEUa(14/22)
イテレーターパターンをSmalltalkで書いてみたわけね。
648(1): デフォルトの名無しさん [sage] 2016/08/04(木)21:15 ID:jTAWnEUa(15/22)
>>647
デコレータの説明として、インターフェイスを同一視して
動的に機能を拡張していくとは書いてあるが
継承を用いることとは書いていない。
650(1): デフォルトの名無しさん [sage] 2016/08/04(木)21:29 ID:jTAWnEUa(16/22)
Structureは日本語にしたら
構造って意味ですよw
653(1): デフォルトの名無しさん [sage] 2016/08/04(木)21:34 ID:jTAWnEUa(17/22)
> そこが実質的な定義だと(俺様が)言ってるの。
知らんがなw
お前が何を言ったところで、
Structureは日本語にしたら構造
Definition(定義)じゃない。
まさか単語の意味を強弁するとは思わなかったなw
655: デフォルトの名無しさん [sage] 2016/08/04(木)21:51 ID:jTAWnEUa(18/22)
説得力0w
657: デフォルトの名無しさん [sage] 2016/08/04(木)22:03 ID:jTAWnEUa(19/22)
構造の一例ねw
659(1): デフォルトの名無しさん [sage] 2016/08/04(木)22:12 ID:jTAWnEUa(20/22)
まさかデザインパターンがGoFの23個だけだと?
あれはパターン例だよ
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.031s