Apa kepanjangan dari MVW?

351

Berikut deskripsi konten untuk halaman AngularJS:

AngularJS adalah apa yang seharusnya HTML, seandainya ia dirancang untuk membangun aplikasi web. Template deklaratif dengan pengikatan data, MVW, MVVM, MVC, injeksi dependensi, dan kisah pengujian yang hebat semuanya diimplementasikan dengan JavaScript murni sisi klien!

Jadi, apa arti MVW? (Mengingat pertengkaran MVC, MVVW, MVP dll, saya kira "terserah", Model-View-Apapun = P)

slacktracer
sumber
Saya pikir Anda benar dengan Model-View-Apapun! code.google.com/p/dark-matter-data/wiki/MVWOverview
John

Jawaban:

447

Memang berdiri untuk apa pun, seperti apa pun yang bekerja untuk Anda

MVC vs MVVM vs MVP. Apa topik yang kontroversial bahwa banyak pengembang dapat menghabiskan berjam-jam berdebat dan berdebat tentang

Selama beberapa tahun + AngularJS lebih dekat ke MVC (atau lebih tepatnya salah satu varian sisi kliennya), tetapi seiring berjalannya waktu dan berkat banyak refactoring dan peningkatan api, sekarang lebih dekat ke MVVM - objek $ scope dapat dianggap sebagai ViewModel yang merupakan sedang dihiasi oleh fungsi yang kita sebut Pengendali.

Mampu mengategorikan kerangka kerja dan memasukkannya ke dalam salah satu ember MV * memiliki beberapa keunggulan. Ini dapat membantu pengembang lebih nyaman dengan apisnya dengan membuatnya lebih mudah untuk membuat model mental yang mewakili aplikasi yang sedang dibangun dengan kerangka kerja. Ini juga dapat membantu membangun terminologi yang digunakan oleh pengembang.

Karena itu, saya lebih suka melihat pengembang membangun aplikasi kick-ass yang dirancang dengan baik dan mengikuti pemisahan kekhawatiran, daripada melihat mereka membuang-buang waktu berdebat tentang MV * omong kosong. Dan untuk alasan ini, saya menyatakan AngularJS sebagai kerangka kerja MVW - Model-View-Apapun. Di mana Apapun singkatan "apa pun yang bekerja untuk Anda" .

Angular memberi Anda banyak fleksibilitas untuk memisahkan logika presentasi dari logika bisnis dan status presentasi. Silakan gunakan bahan bakar produktivitas dan pemeliharaan aplikasi Anda daripada diskusi panas tentang hal-hal yang pada akhirnya tidak terlalu penting.

Christian.K
sumber
8
@ FrançoisWahl: Saya mengatakan hal yang sama kepada diri saya sendiri tidak lima detik sebelum membaca komentar Anda. MV * mungkin akan lebih jelas bagi sebagian besar pengembang perangkat lunak yang mungkin sudah terbiasa dengan konvensi '*' wildcard di mana-mana.
David Frye
2
Anda tidak dapat menggunakan Google MV *. Juga ... "Terserah" menyampaikan rasa frustrasi yang dirasakan banyak orang ketika membahas semantik MVx
Clintm
22

Karena itu, saya lebih suka melihat pengembang membangun aplikasi kick-ass yang dirancang dengan baik dan mengikuti pemisahan kekhawatiran, daripada melihat mereka membuang-buang waktu berdebat tentang MV * omong kosong. Dan untuk alasan ini, saya menyatakan AngularJS sebagai kerangka kerja MVW - Model-View-Apapun. Di mana Apapun singkatan "apa pun yang bekerja untuk Anda".

Penghargaan: AngularJS Post - Igor Minar

Adrian Enriquez
sumber
1

Saya merasa bahwa MWV (Model Lihat Apa Pun) atau MV * adalah istilah yang lebih fleksibel untuk menggambarkan beberapa keunikan Angular menurut saya. Ini membantu saya untuk memahami bahwa ini lebih dari kerangka kerja MVC (Model View Controller), tetapi masih menggunakan MVC karena memiliki Model View, dan Controller.

Ini juga dapat dianggap sebagai pola MVP (Model View Presenter). Saya menganggap Presenter sebagai logika bisnis antarmuka pengguna di Angularjs for the View. Misalnya dengan menggunakan filter yang dapat memformat data untuk ditampilkan. Ini bukan logika bisnis, tetapi logika tampilan dan mengingatkan saya pada pola MVP yang saya gunakan di GWT.

Selain itu, itu juga bisa menjadi MVVM (Model View View Model) bagian Model View menjadi ikatan dua arah antara keduanya. Terakhir adalah MVW karena memiliki pola lain yang dapat Anda gunakan dan disebutkan oleh @Steve Chambers.

Saya setuju dengan jawaban lain bahwa menjadi jago dalam istilah-istilah ini dapat merugikan, karena intinya adalah untuk memahami konsep-konsep dari persyaratan, tetapi dengan cara yang sama, memahami sepenuhnya persyaratan membantu satu ketika mereka merancang kode aplikasi mereka, mengetahui apa pergi ke mana dan mengapa.

James Drinkard
sumber