[解決済み] Observerデザインパターンと "Listeners "の比較
2022-04-27 12:26:53
質問
GOFで説明されているObserverデザインパターンは、様々なツールキットで見られるListenersと本当に同じものであるように思えます。概念に違いがあるのでしょうか、それともListenersとObserverは本当に同じものなのでしょうか。
(具体的なコンピュータ言語での実装は求めておらず、設計の観点から違いを(もしあれば)理解したいだけです)。そう、SOFに似たような質問に対する回答がいくつかあるのは知っていますが、それらは特定の言語に関する特定の質問に根ざしています -- 私は言語の答えではなく、デザインの答えを探しているのです)
解決するには?
リスナーという用語がObserverパターンを指すかどうかは、文脈によって異なります。 例えば、Java Swing の "Event Listeners" は Observer パターン実装の一部であり、.Net の "Trace Listeners" はそうではありません。
フレームワークの作者が、あるパターンの実装に参加するコンポーネントに異なる名前を付けることは珍しくありませんが、パターンそのものを論じるときには、一般に公式のパターン名が使われます。
デザインに関しては、あるパターンの実装が、使用する言語やプラットフォームに影響されることがよくあります。 そのため、あるフレームワークにおけるObserverパターンの特定の実装(たまたまConcreteObserverの役割を説明するためにリスナーという用語を使うかもしれません)は、デザインパターン集で説明されているものとは若干異なるかもしれません。
関連
-
[解決済み] 静的クラスとシングルトンパターンの違い?
-
[解決済み】関数型プログラミングはGoFデザインパターンに取って代わるか?
-
[解決済み】C++ シングルトンデザインパターン
-
[解決済み】アンチパターンとは何ですか?
-
[解決済み】ラッパークラスとは何ですか?
-
[解決済み】インターフェイスを作成するタイミングはどのように判断するのでしょうか?
-
[解決済み】MVCにおけるビジネスロジック【終了しました
-
[解決済み] ゲームにおけるリプレイの概念的な仕組みについて教えてください。
-
[解決済み] ServiceLocatorはアンチパターンか?
-
[解決済み] デザインパターン 抽象ファクトリーとファクトリーメソッド
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] アグリゲート・ルートって何?
-
[解決済み】クラスの命名 - すべてを"<WhatEver>Manager "と呼ぶのを避けるには?[クローズド]
-
[解決済み】REST APIのログインパターン
-
[解決済み] KotlinでBuilderパターンを実装するには?
-
[解決済み] コード内のスイッチをなくす方法【非公開
-
[解決済み] Observerデザインパターンと "Listeners "の比較
-
[解決済み] リポジトリとサービスの違い?
-
[解決済み] ゲームにおけるリプレイの概念的な仕組みについて教えてください。
-
[解決済み] ServiceLocatorはアンチパターンか?
-
[解決済み] FacadeパターンとAdapterパターンの違いは何ですか?