回答編集履歴

1

typo\.

2016/11/03 02:50

投稿

ikedas
ikedas

スコア4335

test CHANGED
@@ -1,6 +1,6 @@
1
1
  大きめの書店へ行って、javaScriptの棚 (その店はある棚一本が丸々javaScript関係でした) に並んでいる本をぱらぱら見てみたところ、Observerパターンを取り上げているものは結構ありました。ただ、デザインパターンのうちこのパターンのみしか取り上げてないものがけっこうあり、そういうのは説明があやしいものが多かったです (たとえば「ObserverパターンはSubscriber-publisherパターンを用いて実装されることが多いが云々」……どっちも同しやろが!!)。また、MVCモデルとの関係を述べたものはあまりなかったです。
2
2
 
3
- 質問者さんが読んだという本は実見していませんが、そういう手短かな、結果として意味不明な解説になっているものではないかと思います。実際、ご質問に挙げられているコードは、GoFの本\[1]の説明でのObserverパターンに現れる2つの抽象クラスと2つの具象クラス (したがって2つ以上のインスタンス) のうち、Subscriberクラスの実装にあたる部分にすぎません。また同書では、同じ効果をObserverクラスでの実装でも、なにかグローバルなテーブルのようなものでの実装でも実現できる、ということも示唆しています。
3
+ 質問者さんが読んだという本は実見していませんが、そういう手短かな、結果として意味不明な解説になっているものではないかと思います。実際、ご質問に挙げられているコードは、GoFの本\[1]の説明でのObserverパターンに現れる2つの抽象クラスと2つの具象クラス (したがって2つ以上のインスタンス) のうち、Subjectクラスの実装にあたる部分にすぎません。また同書では、同じ効果をObserverクラスでの実装でも、なにかグローバルなテーブルのようなものでの実装でも実現できる、ということも示唆しています。
4
4
 
5
5
  そういうわけで、`Observer`なる「クラス」を作って「これがオブザーバーだ」と説明しても、読む人に意味がわからないのは当然だと思います。
6
6