Menurut Sun dan Msdn itu adalah pola desain.
Menurut Wikipedia itu adalah pola arsitektur
Dibandingkan dengan pola desain, pola arsitektur memiliki skala yang lebih besar. (Wikipedia - Pola arsitektur )
Ataukah pola arsitektur yang juga memiliki pola desain?
Mana yang benar ?
Jawaban:
MVC lebih merupakan pola arsitektur, tetapi tidak untuk aplikasi lengkap. MVC sebagian besar terkait dengan lapisan UI / interaksi aplikasi. Anda masih memerlukan lapisan logika bisnis, mungkin beberapa lapisan layanan dan lapisan akses data. Artinya, jika Anda menyukai pendekatan n-tier.
sumber
Mengapa salah satunya harus benar?
Keduanya bisa jadi benar, tergantung sudut pandangnya.
MVC bisa menjadi pola arsitektural, jika itu membentuk dasar dari arsitektur aplikasi.
Ini juga dapat dilihat sebagai pola desain, gagasan abstrak yang dapat diterapkan untuk aplikasi apa pun.
sumber
Pola desain menunjukkan cara menulis kode secara efektif (mempertimbangkan Metrik Kode ).
Beberapa manfaat:
Pola arsitektur mengatakan bagaimana memanfaatkan sumber daya secara efektif.
sumber
Saya tahu bahwa ini telah dijawab beberapa waktu yang lalu, tetapi belum ada yang menyebutkan buku yang membuat MVC terkenal: Pattern-Oriented Software Architecture (POSA), oleh Buschmann, dkk yang diterbitkan pada tahun 1996. Meskipun tidak seluas buku Design Patterns , oleh Gamma, dkk, POSA adalah salah satu buku dasar yang digunakan oleh komunitas pola.
Oh, dan POSA dengan sangat jelas mengidentifikasi MVC sebagai pola arsitektur. Firasat saya adalah bahwa MS dan Sun hanya ceroboh dan menyebut setiap pola sebagai "pola desain".
sumber
Saya pikir keduanya benar. Jika Anda melihat contoh MVC tertentu dalam kerangka kerja seperti Ruby on Rails, contoh itu lebih merupakan pola desain. Jika Anda melihat MVC sebagai konsep umum , ini lebih merupakan pola arsitektur.
sumber
Pola desain di dalam triad Model / View / Controller (MVC) kelas termasuk dan mungkin tidak terbatas pada:
Observer , memisahkan objek sehingga perubahan ke satu (model) dapat mempengaruhi sejumlah orang lain (tampilan) tanpa memerlukan objek yang diubah (model) untuk mengetahui detail lainnya (tampilan).
Komposit , yang memungkinkan kita memperlakukan objek grup (tampilan gabungan) seperti kita memperlakukan salah satu objek individualnya (komponen tampilan).
Strategi , di mana tampilan menggunakan turunan dari subkelas Pengontrol untuk mengimplementasikan strategi respons tertentu; untuk menerapkan strategi yang berbeda, cukup ganti instance dengan jenis pengontrol yang berbeda.
Metode Pabrik , menentukan kelas pengontrol default untuk tampilan.
Dekorator , menambahkan scrolling ke tampilan.
Referensi
Eric Gamma, Richard Helm, Ralph Johnson, dan John Vlissides. Pola Desain: Elemen Perangkat Lunak Berorientasi Objek yang Dapat Digunakan Kembali . Addison-Wesley, Reading, MA, 1994.
sumber
MVC selalu disebutkan dan diperkenalkan sebagai / dalam lapisan presentasi dalam buku arsitektur perangkat lunak.
Baca buku-buku ini:
Merancang Solusi Microsoft.NET untuk Perusahaan (Microsoft Press)
Pola desain ASP.NET profesional (Wrox)
Pola Solusi Enterpise Menggunakan Microsoft.NET (Microsoft press)
Pola Arsitektur Aplikasi Perusahaan (Addison Wesley)
Panduan Praktis untuk Arsitektur Perusahaan (Prentice Hall)
sumber
Jika Anda menempatkan sepuluh arsitek perangkat lunak ke dalam sebuah ruangan dan meminta mereka mendiskusikan pola Model-View-Controller itu, Anda akan mendapatkan dua belas pendapat yang berbeda. … Beberapa purist di luar sana pasti akan memiliki keraguan dengan apa yang saya sebut sebagai "MVC". Jangan ragu untuk meninggalkan komentar yang menyala-nyala di papan pesan di bagian bawah halaman Web ini. Saya dengan senang hati akan memberikan perspektif yang berbeda tentang apa arti MVC, tetapi perlu diingat bahwa saya tidak peduli.
Josh Smith
sumber
Dan menurut Martin Fowler mereka adalah arsitektur GUI: arsitektur Martin Fowler-GUI
Itu tergantung pada ukuran aplikasi, karena hanya mempengaruhi kelas-kelas terkait GUI, dalam yang kecil (kebanyakan GUI) itu dapat dianggap sebagai pola arsitektur sedangkan dalam yang besar itu hanya akan menjadi pola desain yang Anda terapkan ke GUI kode (bisa 10% dari kode aplikasi).
sumber
MVC adalah pola arsitektur. Dinyatakan dengan sangat jelas dan ditampilkan di http://molecularsciences.org/zend/mvc_model_view_controller
sumber