2009-05-26 6 views
3

MVCとはかなり混乱していますが、ヘッドファーストパターンの本をフリックした後では(この例はかなり良いですが、私はそのブランドが嫌いですが)、MVCやModel View Controllerは、メディエーター、オブザーバーなど...このMVCですか?私はどのような「デザインパターン」を使用しましたか?

最近のプロトタイプでは、私は以下のことをしましたが、それはC#ですが、簡単です。

Person : IPerson { 
    public Name { get; set;} 
    public Age { get; set;} 
} 

IPersonは上記を定義する単なるインターフェイスです - 私は簡単にするためにそれを省略しました。

PersonController : IPersonController { 
    public event DetailsUpdated; 
    public void SetAge(int age); 
    public int GetAge(); 
    public void SetName(string name); 
    public string GetName(); 
} 

私が知っているのは、プロパティそのものかもしれませんが、これは単なる例です。一部のデータが変更されるたびにイベントが発生します。 SetAge/SetNameに設定します。

interface IView { 
    void Initialize(); 
    void SetAgeClicked(object sender, EventArgs e); 
    void SetNameClicked(object sender, EventArgs e); 
} 

ワイヤをスムーズに初期化します。フォーム上のテキストボックス。 SetAge/SetNameはボタンイベントなので、フォーム/ページなどではこれらのメソッドが必要です。

Form : IView { 

    // IView is implemented. 
    // Form is wired up 
    // Initialize is set etc... 
} 

MVCのテストでは、新しいビューを追加すると聞き取りやすくなっています。うまくいきました。しかし、このMVCはありますか?これは別のものですか?

アドバイス/入力は素晴らしいです。それはうまくいきます - それはただの理由を知りたいだけです。

ありがとうございました。

+0

あなたが持っているMVCデザインパターンです。 –

+0

私は、MVCは設計パターンではなく、むしろアーキテクチャパターンであるとの意見を(そして私は同意する)見てきました。 –

+0

もう一つのプロトタイプを作ったが、それは確かに 'パッシブビュー'に合っている。 リファレンス:http://blog.vuscode.com/malovicn/archive/2007/11/04/model-view-presenter-mvp-design-pattern-close-look-part-2-passive-view.aspx – Finglas

答えて

2

MVPよりもMVP(Model-View-Presenter)に近いと思います。 MVPには主に2つの種類があります。監督コントローラとパッシブビュー。ここであなたが持っているものはPassive Viewに最も近いようですが、これは人々がWebFormsを改善し抽象化するために使用する非常に古典的なMVP実装です。あなたはここにWebフォーム用のMVPの実装についての詳細を読むことができます:

http://haacked.com/archive/2006/08/09/ASP.NETSupervisingControllerModelViewPresenterFromSchematicToUnitTestsToCode.aspx

同じ一般的な考えはあまりにもWindowsフォームに適用されます。

+0

私はパッシブビューを見ていきます。それは私がそれをチェックアウトする前に切り取られている。 – Finglas

2

私は何か他に票を投じます。

私がこれを言うのは、MVCが何であるかという議論があるからです。

は、それはあなたがそこに持っているMVCの実装ですが、それはone Microsoft made and recently releasedを使用していないWhat's a controller anyway?

+0

Ok私はそれをMVCのバリエーションまたはタイプとして変更します。 – Finglas

1

を参照してください。 Overview of it Scott Gutherieさんからのヒストリーが必要な場合コントローラの代わりにビジネスロジックとユーザーのやりとりを一般的に扱うPresenterと呼ばれる部分をMVPと呼びます。

関連する問題