MVW ne anlama geliyor?


351

AngularJS sayfasının içerik açıklaması:

AngularJS, web uygulamaları oluşturmak için tasarlanmış olsaydı HTML'nin ne olacağıydı. Veri bağlayıcı, MVW, MVVM, MVC, bağımlılık enjeksiyonu ve mükemmel test edilebilirlik hikayesi içeren beyan edici şablonların tümü saf istemci tarafı JavaScript ile uygulanır!

Peki MVW ne anlama geliyor? (MVC, MVVW, MVP vb kavga göz önüne alındığında, "ne olursa olsun", Model-View-Whatever = P tahmin ediyorum)


Yanıtlar:


447

Gerçekten sizin için her neyse, sizin için neyin işe yaradığı gibi

MVC vs MVVM vs MVP. Birçok geliştiricinin tartışmak ve tartışmak için saatlerce harcayabileceği ne tartışmalı bir konu.

Birkaç yıl boyunca + AngularJS, MVC'ye (veya daha ziyade istemci tarafı varyantlarından birine) daha yakındı, ancak zamanla ve birçok yeniden düzenleme ve api iyileştirmesi sayesinde artık MVVM'ye daha yakın - $ scope nesnesi, ViewModel olarak kabul edilebilir. Denetleyici dediğimiz bir fonksiyon tarafından dekore edilmek.

Bir çerçeveyi kategorize edebilme ve MV * kovalarından birine yerleştirebilmenin bazı avantajları vardır. Çerçeve ile oluşturulan uygulamayı temsil eden zihinsel bir model oluşturmayı kolaylaştırarak geliştiricilerin API'leriyle daha rahat olmalarına yardımcı olabilir. Geliştiriciler tarafından kullanılan terminolojinin oluşturulmasına da yardımcı olabilir.

Söyledikten sonra, geliştiricilerin MV * saçmalıklarını tartışırken zaman kaybettiklerini görmek yerine, iyi tasarlanmış ve endişelerin ayrılmasını takip eden kick-ass uygulamaları geliştirmelerini tercih ediyorum. Ve bu nedenle AngularJS'yi MVW çerçevesi - Model-View-Whatever olarak ilan ediyorum. Nerede olursa olsun "sizin için neyin işe yaradığını" ifade eder .

Açısal, sunum mantığını iş mantığından ve sunum durumundan güzel bir şekilde ayırmak için size çok fazla esneklik sağlar. Günün sonunda bu kadar önemli olmayan şeyler hakkında hararetli tartışmalardan ziyade, üretkenliğinizi ve uygulama sürdürülebilirliğini arttırmak için kullanın.


8
@ FrançoisWahl: Yorumunuzu okumadan beş saniye önce kendime aynı şeyi söyledim. MV * muhtemelen her yerde bulunan joker karakter '*' kuralına zaten aşina olan yazılım geliştiricilerinin büyük çoğunluğu için daha açık bir şekilde açık olurdu.
David Frye

2
Google MV * yapamazsınız. Ayrıca… “Ne olursa olsun”,
MVx'in


22

Söyledikten sonra, geliştiricilerin MV * saçmalıklarını tartışırken zaman kaybettiklerini görmek yerine, iyi tasarlanmış ve endişelerin ayrılmasını takip eden kick-ass uygulamaları geliştirmelerini tercih ediyorum. Ve bu nedenle AngularJS'yi MVW çerçevesi - Model-View-Whatever olarak ilan ediyorum . Nerede olursa olsun "sizin için uygun olan" anlamına gelir.

Kredi: AngularJS Post - Igor Minar



1

Bence MWV (Model View Whatever) veya MV * 'nin Angularjs'in bazı benzersizliğini tanımlamak için daha esnek bir terim olduğunu düşünüyorum. Bir MVC (Model View Controller) JavaScript çerçevesinden daha fazlası olduğunu anlamama yardımcı oldu, ancak Model View ve Controller'a sahip olduğu için hala MVC kullanıyor.

Ayrıca bir MVP (Model Görünümü Sunucusu) deseni olarak da düşünülebilir. Bir Presenter'ı Angularjs for the View'daki kullanıcı arayüzü iş mantığı olarak düşünüyorum. Örneğin, verileri görüntülenmek üzere biçimlendirebilen filtreler kullanarak. Bu iş mantığı değil, ekran mantığı ve bana GWT'de kullandığım MVP modelini hatırlatıyor.

Ek olarak, aynı zamanda MVVM (Model Görünümü Görünüm Modeli) View Model kısmı ikisi arasında iki yönlü bağlanma olabilir. Her şeyden önce MVW, @Steve Chambers'in belirttiği gibi kullanabileceğiniz diğer desenlere sahip.

Bu terimler hakkında bilgiçlik kazanmanın, kavramları terimlerden anlamak olduğu için, aynı şekilde, terimleri tam olarak anlamak, uygulama kodlarını tasarlarken, nereye ve neden gider.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.