MVC ve MVVM Arasındaki Fark

Bir web sitesi dışarıdan göründüğünden daha fazlasıdır. Aslında, bir web sitesinin yapısal modeli web sitesinin kendisi kadar değişir. Bir web sitesi, bir uygulamayı çalıştırmak için birbiriyle etkileşime giren çok sayıda bileşenden oluşan karmaşık bir ağdır. Örneğin, neredeyse her gün kullandığımız en karmaşık web sitelerinden biri olan Facebook'u ele alalım. Ana sayfasına gidin, web sitesinin sayfayı bir dizi bileşenle doldurmak için bir seferde neredeyse bir düzine veri isteğini karşıladığını göreceksiniz. Bir Facebook gibi bir programı çalıştırmak için bileşenlerin birbirleriyle nasıl etkileşime girdiğinin ardındaki mantığın diğer web sitelerinden çok farklı olabileceğini kolayca hayal edebilirsiniz. Herhangi bir web sitesinin temel işlevi, görüntüleyenin aradığı verileri elde etmek için ön ucun uygun bir modelle etkileşime girme kolaylığı ile tanımlanır. MVC ve MVVM, yazılım geliştirme dünyasında iki popüler tasarım modelidir.

MVC nedir?

Model-View-Controller'ın kısaltması olan MVC, modern kullanıcı arayüzlerini geliştirmek için yaygın olarak kullanılan bir uygulama tasarım modelidir. MVC modeli, nesne yönelimli tasarım topluluğundan ortaya çıktığı için modern nesne yönelimli yazılım geliştirmenin merkezindedir. Başlangıçta 1979'da Thing-Model-View-Editor olarak adlandırıldı, ancak daha sonra basitleştirildi ve Model-View-Controller olarak yeniden adlandırıldı. Ağırlıklı olarak mobil ve web uygulamalarının tasarımı ve geliştirilmesi için kullanılır. Bir uygulamanın kullanıcı arabirimini üç ayrı bölüme ayırır: Model, Görünüm ve Denetleyici.

model: Model, uygulama içinde kullanmayı planladığınız verileri tanımlayan bir grup sınıfı temsil eder. Veriler için ortak bir biçimi tanımlar, ancak işletme kurallarını, dönüşümleri, doğrulama mantığını ve diğer çeşitli işlevleri de içerebilir.

Görünüm: Görünüm, modelden görüntülenecek verileri temsil eder. Uygulamanın kullanıcı arabiriminin nasıl görüntüleneceğini tanımlar. Bir model, uygulamaya bağlı olarak çeşitli görünümlere sahip olabilir. Görünüm modeli, tasarım terimleriyle, temelde HTML, jQuery ve benzeri gibi UI bileşenlerini gösterir.

kontrolör: Denetleyici, kullanıcıdan gelen iletişimi olaylar, genel uygulama akışı ve uygulamaya özgü mantık şeklinde işleyen bir MVC uygulamasının merkezi parçasıdır. Olaylar daha sonra servis isteklerine dönüştürülür ve modele veya görünüme aktarılır. Kullanıcının sistemle etkileşime girdiği tek bileşendir.

MVVM nedir?

Model-View-ViewModel veya MVVM, yeniden kullanılabilir ve kolayca test edilebilir web uygulamaları geliştirmek için yaygın olarak kullanılan popüler bir yazılım mimari modelidir. MVVM, MVC modeline dayanır, ancak görünüme özgü verileri yöneten ViewModel adlı yeni bir sınıf ekleyerek MVC modelini geliştirir. MVVM modelinin temel amacı, Model ve View bileşenleri arasında gerçek bir ayrılığa sahip olmaktır. Modelin ana bileşenleri şunlardır: Model, View ve ViewModel.

model: İlke MVC modelinde olduğu gibi kalır. Model, iş mantığını ve verileri temsil eder ve verilerin nasıl işlenmesi gerektiğini belirtir.

Görünüm: Görünüm modeli, görüntülenecek verileri temsil eder, ancak veriler üzerinde herhangi bir değişiklik yapmaz. Görünüm, görünüm için bir ViewModel eklenerek yapılan görünüm için veri bağlarının ayarlanması dışında, MVC ile aynıdır..

ViewModel: Aslında, veriyi modelden ayrı tutmaya yardımcı olan ve aynı zamanda iletişimi kolaylaştırmak için denetleyici görevi gören veri bağlama işlevlerinden faydalanmak üzere tasarlandığı için modelin en önemli bileşenidir. Görünüm ve Model bileşenleri arasında.

MVC ve MVVM arasındaki fark

Desen

- Model-View-Controller (MVC), modern kullanıcı arayüzlerini geliştirmek için yaygın olarak kullanılan bir uygulama tasarım modelidir. Bir uygulamanın kullanıcı arabirimini üç ayrı bölüme ayırır: Model, Görünüm ve Denetleyici. Model-View-ViewModel (MVVM) ise, tekrar kullanılabilir ve kolayca test edilebilen web uygulamaları geliştirmek için yaygın olarak kullanılan MVC modelinin modern bir çeşididir. MVVM modelinin ana bileşenleri Model, View ve ViewModel'dir..

Bağlanma verileri

- MVVM'yi diğer yazılım tasarım modellerinden ayıran en önemli özellik, kullanıcı arayüzünü iş mantığına bağlayan bir mekanizma olan veri bağlamadır. Görünümleri ViewModel'lerine bağlayan, modellerin ve özelliklerin ViewModel'deki görünümle senkronize olmasını sağlayan anahtar teknolojidir. Tüm Modeli bir Görünüme maruz bırakma ihtiyacını ortadan kaldırır.

kontrolör

- İki mimari model arasındaki temel fark, MVC'de Kontrolörün olayları kullanarak bir Model ile bir Görünüm arasındaki iletişimi yönetmekten sorumlu olması, buna karşılık çerçevenin veri bağlama adı verilen bir özellik kullanarak MVVM'deki tüm ağır kaldırmayı yapmasıdır. MVVM'deki ViewModel, görünümü modelden ayrı tutmaya yardımcı olur ve aynı zamanda Görünüm ve Model bileşenleri arasındaki iletişimi kolaylaştırmak için denetleyici görevi görür.

MVC ve MVVM: Karşılaştırma Tablosu

özet

Hem MVC hem de MVVM, MVC modelinin türevleriyken, MVVM, görünüme özgü verileri yöneten ViewModel adlı yeni bir sınıf sunan MVC modelinin modern bir varyantıdır. MVVM modelinin temel amacı, Model ve View bileşenleri arasında gerçek bir ayrılığa sahip olmaktır. MVC'de, Denetleyici bir Model ile bir Görünüm arasındaki iletişimi yönetmekten sorumludur. Bununla birlikte, MVVM'de ViewModel, görünümü modelden ayrı tutmaya yardımcı olur ve ayrıca bileşenler arasındaki iletişimi kolaylaştırmak için denetleyici görevi görür.