Di mana saya dapat menemukan contoh yang baik tentang cara menerapkan pola MVC sepenuhnya dalam Formulir Windows?
Saya menemukan banyak tutorial dan contoh kode di berbagai situs (misalnya, The Code Project dan .NetHeaven), tetapi banyak yang lebih mewakili pola pengamat daripada MVC. Karena aplikasi yang ingin saya kembangkan adalah untuk proyek sekolah, saya enggan menggunakan framework seperti PureMVC atau MVC # .
Jawaban:
Saya berpandangan bahwa aplikasi sangat berbeda satu sama lain dan pemahaman kita tentang bagaimana aplikasi harus ditulis masih sangat terbatas. Aplikasi Windows Forms yang pernah saya kerjakan sangat berbeda satu sama lain. Beberapa perbedaan desain yang pernah saya lihat adalah (termasuk sebagian besar kombinasi):
Oleh karena itu saya rasa tidak mungkin untuk membuat satu implementasi MVC (atau MVP) yang selalu cocok.
Posting terbaik yang pernah saya lihat benar-benar menjelaskan MVC dan mengapa sistem MVC dibangun seperti itu, adalah seri "Build Your Own CAB" oleh Jeremy D Miller . Setelah mengerjakannya, Anda harus dapat memahami opsi Anda jauh lebih baik. Panduan Klien Cerdas Microsoft (CAB / Blok Aplikasi Komposit Microsoft) juga harus dipertimbangkan. Ini agak rumit, tetapi dapat bekerja dengan baik untuk aplikasi yang cocok.
Memilih Implementasi MVC / MVP untuk Proyek Winforms memberikan gambaran umum yang layak dibaca. Banyak orang menyukai PureMVC . Saya belum pernah menggunakannya, tetapi saya akan melihatnya saat berikutnya saya membutuhkan kerangka kerja MVC.
" Presenter First " adalah pendekatan pengembangan perangkat lunak yang menggabungkan ide pola desain Model View Presenter (MVP) dan pengembangan yang digerakkan oleh pengujian . Ini memungkinkan Anda memulai dengan menulis tes dalam bahasa pelanggan. Sebagai contoh:
Saya tidak memiliki pengalaman menggunakan "Presenter First," tapi saya akan mencobanya ketika saya mendapat kesempatan, karena kelihatannya sangat menjanjikan.
Pertanyaan Stack Overflow lainnya yang mungkin ingin Anda lihat ada di sini dan di sini .
Jika Anda berpikir untuk menggunakan WPF pada titik mana pun, lihat pola Model-View ViewModel (MVVM) . Berikut adalah video yang sangat bagus yang harus Anda lihat: Jason Dolinger di Model-View-ViewModel .
Pola Desain MVVM (Model View View Model) untuk Winforms memberikan opsi lain yang dapat membuatnya lebih mudah untuk dikonversi ke WPF jika diperlukan. Magical.Trevor adalah contoh MVVM lain untuk Windows Forms yang juga menyertakan penjilidan otomatis berdasarkan nama properti.
Juga tanyakan pada diri Anda mengapa Anda menggunakan MVC.
Setelah Anda jelas pada Anda tujuan , menjadi lebih mudah untuk memilih satu implementasi atau yang lain.
sumber
PEMBARUAN: Selain jawaban saya sebelumnya di bawah, saya sarankan membaca tentang pendekatan "Presenter First" (terutama artikel PDF)
Saya akan merekomendasikan MVP (pola PassiveView sebenarnya) daripada MVC. Anda tidak benar-benar membutuhkan kerangka kerja khusus untuk ini, ini hanya bagaimana Anda mengatur kode Anda.
Salah satu pendekatan (yang biasanya saya ambil) adalah membagi setiap bentuk jendela menjadi tiga entitas:
Kode contoh (pseudocode sederhana, hanya untuk ilustrasi):
sumber
Pernahkah Anda melihat PureMVC ? Saya telah menemukan bahwa tidak ada yang bisa menyetujui seperti apa MVC sebenarnya setelah mereka mulai membangun implementasi tertentu.
Pembaruan: Anda dapat membangun sendiri mulai dengan sesuatu yang lebih sederhana seperti MobileMVC . Kode Compact Framework harus mengkompilasi / menjalankan OK di Windows. Karena ini adalah tugas sekolah, saya sarankan agar Anda benar-benar meluangkan waktu untuk mempelajari cara kerja MVC.
sumber
Anda mungkin ingin melihat Eksekusi Diferensial .
Ini dia di SourceForge
IMO, ini adalah peningkatan besar pada MVC, meskipun masih sangat tidak biasa.
sumber
Contoh yang baik dalam menjalankan implementasi MVC Anda sendiri menggunakan Formulir Windows dapat ditemukan di sini . Kode sumber disertakan.
Saat Anda membaca, mempelajari, dan menulis kode untuk tugas ini, Anda akan menemukan banyak ketidaksepakatan tentang bagaimana MVC harus diimplementasikan. Yang ini adalah kasus sederhana yang mencerminkan pemisahan masalah serta contoh bagus dari 'pipa ledeng' yang diperlukan untuk menghubungkannya.
Ketika Anda keluar dari sekolah Anda mungkin ingin kembali ke kerangka kerja seperti yang direkomendasikan poster lain.
sumber
Blok Aplikasi Antarmuka Komposit Microsoft memulai hidupnya sebagai implementasi MVC (di antara pola lain yang diimplementasikan). Versi rilis, bagaimanapun, berkembang menjadi implementasi MVP, yang dapat dikatakan sebagai semacam interpretasi yang berbeda dari konsep MVC.
Jika Anda ingin memeriksa kode implementasi MVP yang sangat lengkap (dan entah bagaimana rumit), Anda dapat menemukan MS-CAB sebagai salah satu komponen dari Pabrik Perangkat Lunak Microsoft Smart Client. Itu datang dengan kode sumber. Anda bisa menemukannya di sini . Semoga berhasil!
sumber