11

オブザーバー パターンと MVC の違いは何ですか。学校でJavaでMVCプログラムを書いた経験はありますが、オブザーバーパターンの経験はありません。(オブザーバーパターンは、Javaでオブザーバークラスを使用したことを意味すると誰かが私に言いました...それは良い答えだとは思いません。)

次の質問について教えてください。lottttt に感謝します。

  1. それらの違いは何ですか?オブザーバー パターンはコントローラーに別のクラスを使用しませんか?

  2. オブザーバーパターンとMVCの関係は? 2つの異なるバージョンを聞きました。

    • 最初のバージョンは、MVC はアーキテクチャであり、Observer パターンはデザイン パターンです。MVC はオブザーバー パターンを使用するため、これらは似ています。
    • 2 番目のバージョンは、オブザーバー パターンと MVC が 2 つの異なる設計パターンであることです。
  3. そのうちの1つだけを使用することは可能ですか? もしそうなら、どのような場合に一方を他方よりも優先して使用しますか?またその理由は何ですか?

4

2 に答える 2

18
  1. MVC はデザイン パターンというよりもアーキテクチャ スタイルであると言っているのは正しいです。ここでの良い議論: MVC はデザイン パターンまたはアーキテクチャ パターンですか?

これがあなたの他の2つの質問にも答えてくれることを願っています.

オブザーバー デザイン パターンは、オブジェクト x の変更が発生した場合に、オブジェクト (x など) のすべての依存関係を通知する場合に使用される動作パターンです。よく読んでください:http://www.dofactory.com/Patterns/PatternObserver.aspx

MVC ダイアグラムからわかる MVC のように、両者は密接に関連しています。たとえば、「ビュー」の変更を「モデル」と「コントローラー」に通知する必要があります。このような機能を実現する効率的な方法の 1 つは、オブザーバー デザイン パターンです。

よく読んでください: http://en.wikipedia.org/wiki/Observer_pattern

In fact the observer pattern was first implemented in Smalltalk's MVC based user 
interface framework.

お役に立てれば!

ここに画像の説明を入力

于 2013-03-22T05:17:04.613 に答える
4

あなたが尋ねている質問に関連する記事がたくさんあります。私にとっての MVC は、オブザーバー パターンも「含む」アーキテクチャ パターンです。さまざまな実際のプロジェクトの実装でMVCパターンを実際に研究すると、複数の設計パターンが含まれると思います。

ズームインするかズームアウトするかのどちらかです。

于 2013-03-22T05:07:28.887 に答える