MVC ve MVP Arasındaki Fark

MVC ve MVP

Model View Controller (MVC olarak da bilinir), özellikle yazılım mühendisliğinde kullanılan bir mimari yapı modelidir. Bu özel model, sadece kullanıcı için bir uygulamanın mantığı olan 'etki alanı mantığı' olarak bilinen şeyi izole etmek için kullanılır. Girdi ve sunumdan (GUI olarak bilinir) izole edilir ve bağımsız gelişime izin verir.

Model View Presenter (MVP olarak da bilinir), MVC'nin doğrudan permütasyonudur. Otomatik birimlerin test edilmesine yardımcı olmak ve sunum mantığındaki endişelerin ayrılması olarak bilinen şeyi geliştirmek için özel olarak tasarlanmış bir yazılım modelidir (daha spesifik olarak bir kullanıcı arayüzü tasarım modeli). Endişelerin ayrılması temel olarak bir bilgisayar programının nasıl işlev gördükleri açısından örtüşmeyen farklı özelliklere ayrılması işlemidir..

MVC'nin model kısmı, esasen, uygulamanın çalışmasına izin vermek için kullanılan verilerin belirli alanlar üzerinden verileri temsil eden bir modeldir. Görünüm kısmı, modeli kullanıcılar için uygun bir etkileşime dönüştürür - bu genellikle bir kullanıcı arabirimi öğesidir. Son olarak, kontrolör kısmı girişi en uygun şekilde alır. Modelde bulunan nesneler için kararlar vererek, kontrolör tepki için bir katalizör görevi görür.

MVP'nin model kısmı, kullanıcı arayüzünde görüntülenecek (veya üzerinde işlem yapılacak) verileri tanımlar. Görünüm kısmı, modelde tanımlanan verileri görüntüler ve sunucuya (bu veriler üzerinde hareket edecek olan) kullanıcı tarafından istenen komutları (olaylar olarak bilinir) gönderir. Sunucu daha sonra modele ve modelin görünümüne etki eder. Bu nedenle, görünümde kolayca görüntülenmesi için veri havuzlarından (modelde bulunan) veri alabilir, verileri devam ettirebilir ve biçimlendirebilir..

MVC'nin farklı varyantları vardır. Bu nedenle, kontrolün akışı çok katı bir sıradadır: Birincisi, kullanıcı arayüzle etkileşime girer (örneğin fare üzerinde bir düğmeye basarak) ve daha sonra kontrol cihazı giriş olayını halleder ve bunu uygun kullanıcı eylemi. Daha sonra, denetleyici kullanıcının yaptıklarını modeline bildirir, bu da modelin durumunu değiştirmesine neden olur (örneğin, bir güncelleme olarak). Ardından görünüm, kullanıcı arabirimini oluşturmak için modele bir soru sorar. Son olarak, kullanıcı arayüzü döngüyü yeniden başlatacak talimatları bekler.

Özet:

1. MVC, etki alanı mantığını izole eden mimari bir modeldir; MVP, otomatik ünitelerin test edilmesine ve endişelerin ayrılmasını iyileştirmeye yardımcı olmak için tasarlanmış MVC'nin soyundan biridir.

2. MVC ile ilgili olarak, model verileri temsil eder, görünüm modeli kullanıcı dostu bir etkileşime dönüştürür ve kontrolör girişi alır; MVP ile ilgili olarak, model verileri tanımlar, görünüm verileri görüntüler ve sunum yapan kişi model ve görünümü üzerinde hareket eder.