SORU
5 AĞUSTOS 2008, Salı


MVP ve MVC nedir ve farkı nedir?

Ne zaman bakmaya ötesinde # 1* (sürükle-bırak ve yapılandırma) yol inşa kullanıcı arayüzleri birçok araç teşvik ihtimalinin rastlamak üç tasarım desenleri Adı Model-View-Controller, Model-View-Presenter Model-View-ViewModel. Benim sorum bunun için üç bölüm vardır:

  1. Hangi sorunlar bu desenleri hitap eder mi?
  2. Ne kadar benziyorlar?
  3. Nasıl farklılar?

CEVAP
19 EYLÜL 2008, Cuma


Model-Görünüm-Sunum

MVP, Sunucu Görünümünü UI iş mantığı içerir. Görünümünden tüm çağırmaları doğrudan Sunum için temsilci. Sunum da doğrudan Görünümü ve arayüzü ile konuşur ayrılmış. Bu birim test Görünümü alaycı izin vermektir. MVP bir ortak özelliği iki yönlü gönderme bir sürü olmalı. Birisi "" düğmesi, olay sunucunun "" yöntemi. Kaydedildiğinde için işleyici temsilcileri Kaydet tıkladığında örneğin, Kaydetme işlemi tamamlandıktan sonra, Sunum sonra Görünüm Kaydet tamamlandı görüntülemek arayüzü ile Görünümü geri arayın.

MVP Web Formları ayrı sunum elde etmek için çok doğal bir model olma eğilimindedir. Nedeni Görünümü her zaman ilk ASP.NET çalışma zamanı tarafından oluşturulan. 5**.

İki temel farklılıklar

Pasif Görünüm:Görünüm mümkün olduğu kadar aptal ve neredeyse sıfır mantık içerir. Sunum Görünümü ve Model konuşan, orta halli bir adam. Görünüm ve Model birbirinden tamamen korumalıdır. Modeli olaylarını olabilir, ama Sunucu Görünümünü güncelleştirmek için onları kullanıyor. Pasif Görünümünde doğrudan veri bağlama yok, bunun yerine Görünüm Sunan veri seti için kullandığı belirleyici özellikleri sunar. Tüm devlet Sunucu yönetilen ve Görünüm değil.

  • Artılar: maksimum test edilebilirlik yüzey; Görünüm temiz ayırma ve Model
  • Con: tüm verileri kendine bağlama yaparken daha fazla iş (örneğin tüm belirleyici özellikleri).

Kumanda Denetleme:Sunucu kullanıcı hareketlerini yönetir. Görünümü doğrudan veri bağlama aracılığıyla Modele bağlar. Bu durumda kişinin iş bağlamak, böylece Görünümü Modele geçmek. Sunum da düğme, navigasyon, vs. basmak gibi hareketler için mantık içerir.

  • Kod miktarını veri bağlama azalır yararlanarak. Pro:
  • Con: daha az test edilebilir yüzey (çünkü veri) bağlama var, ve doğrudan Model için konuşuyor bu yana görünümde daha az sarma var.

Model-View-Kontrol

MVCkontrol ünitesi , uygulama yüklediğinde de dahil olmak üzere herhangi bir eylem yanıt olarak görüntülenir belirlemek için sorumlu. Bu eylemler için Sunum Görünümü ile yol nerede MVP farklıdır. MVC, Görünümünde her eylem bir eylem ile birlikte bir Denetleyici için bir çağrı ile ilişkilidir. Web her eylem hangi yanıt veren bir Kumanda var diğer tarafta bir URL için bir çağrı içerir. O Denetleyici işlemi tamamlandıktan sonra, doğru olan görüşe dönecektir. Sıra uygulama ömrü boyunca bu şekilde devam ediyor:

    Action in the View
        -> Call to Controller
        -> Controller Logic
        -> Controller returns the View.

MVC ile ilgili bir diğer büyük fark Görünümü doğrudan Model bağlama değil. Görünümü basit hale getirir ve tamamen vatansız. MVC uygulamalarında View genellikle kod arkasında herhangi bir mantık yoktur. Bunun aksine, eğer Görünümü Sunum için temsilci yok değilse, hiç aramadı alacak olarak kesinlikle gerekli olduğu MVP için.

Sunum Modeli

Bakmak için başka bir desenSunum Modelidesen. Bu şekildeki Sunum yok. Bunun yerine direk olarak görmek Sunu bir Model bağlanır. Sunum Modeli bir Model özellikle Görünüm için tasarlanmıştır. Bu Modeli hiç ayırma ilgilendiriyor aykırı olacağı gibi bir etki alanı modeli tak etti bu özellikleri açığa çıkarmak anlamına gelir. Bu durumda, Sunum Modeli etki alanı modeli için bağlar, ve olaylar bu Model gelen abone olabilir. Görünüm sonra olaylar Sunum Modeli gelen abone ve kendini günceller. Sunum Modeli görünümü çağırma eylemleri için kullandığı komutları açığa çıkarabilir. Bu yaklaşımın avantajı, aslında başbakanın tamamen görünüm için tüm davranış saklar gibi-arkasında kod tamamen kaldırabilirsiniz. Bu desen WPF uygulamalar için çok güçlü bir aday olduğunu ve aynı zamanda Model-View-ViewModel denir.

Separated Presentation Patterns MSDN article about the Presentation Model Composite Application Guidance for WPF bir bölümü (eski Prizma) var

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • 8lacKy

    8lacKy

    30 Mart 2009
  • Google Россия

    Google Ро

    9 Temmuz 2007
  • 趣味そうこ♪

    趣味そう

    3 Mart 2010