Bagi banyak dari Anda ini akan terdengar seperti pertanyaan konyol, tapi saya bertanya karena saya memiliki sedikit pengalaman atau tidak dengan ASP.Net Webforms - saya langsung menuju ke ASP.Net MVC.
Saya sekarang sedang mengerjakan proyek di mana kami terbatas pada .Net 2.0 dan Visual Studio 2005.
Saya menyukai pemisahan yang bersih dari kekhawatiran ketika bekerja dengan ASP.Net MVC, dan saya sedang mencari sesuatu untuk membuat bentuk web lebih tak tertahankan. Apakah ada pola atau praktik yang disarankan untuk orang yang lebih suka asp.net MVC, tetapi terjebak di .net 2.0 dan visual studio 2005?
asp.net-mvc
Terima kasih
sumber
sumber
Jawaban:
Saya akan merekomendasikan Model View Presenter (MVP). Kami menggunakan ini pada aplikasi WebForms baru-baru ini dan itu meningkatkan kemampuan uji kami dan memungkinkan kami untuk menegakkan pemisahan kekhawatiran.
http://msdn.microsoft.com/en-us/magazine/cc188690.aspx adalah artikel hebat oleh Jean Paul Boodhoo tentang pola ini; download kode juga bagus. Anda mungkin menemukan Anda tidak membutuhkan DTO dan antarmuka untuk DTO.
Artikel bagus lainnya adalah artikel ini di codeproject.com: http://www.codeproject.com/KB/architecture/ModelViewPresenter.aspx
Sunting: ada juga kerangka kerja yang disebut WebForms MVP tapi saya tidak tahu banyak tentang itu.
sumber
Saya akan merekomendasikan bagi Anda untuk memahami siklus hidup halaman .net 2.0
Video-video ini mungkin layak ditonton meskipun tidak semua gratis tetapi setidaknya ini akan menjadi awal yang baik untuk Anda .... Masalahnya adalah ini akan memberi Anda ide tentang apa yang harus diteliti lebih lanjut di kemudian hari.
sumber
Seperti yang mungkin sudah Anda temukan sekarang bahwa Anda perlu menghapus beberapa hal yang telah Anda pelajari dengan ASP.NET MVC (btw - hal yang sama terjadi ketika orang ASP.NET bergabung untuk mempelajari ASP.NET MVC). Anda masih dapat menerapkan pola MVC di ASP.NET tetapi pemisahan View and Model sangat kabur di ASP.NET karena arsitektur posting / page post back arsitektur.
Menurut pendapat saya, Sebagian besar pembelajaran baru Anda akan terkait dengan Page Life Cycle dan Eventing & Controls. Interaksi Sesi, Cache, ViewState, dan DB yang biasa tetap sama.
HTH ...
sumber
Pola Checkout Front Controller dan Menerapkan Front Controller di Asp.Net. Lakukan hal-hal ini hanya jika proyek Anda akan berukuran baik. Melakukan ini untuk proyek kecil tidak akan membenarkan ROI.
Dalam proyek kecil Anda dapat mencoba mengatur beberapa pedoman. Misalnya - Tidak ada logika bisnis, tidak ada sesi digunakan dll dalam kode di belakang.
Lihat apa yang paling cocok untuk Anda. Bagaimanapun, tahan godaan untuk melakukan rekayasa.
sumber
Kembali di hari-hari gelap. NET 1.1 Saya membuat (saya kira seperti semua orang) semacam sistem MVC untuk aplikasi yang berjalan seperti ini.
Sebuah halaman dibuat untuk menjadi semacam master 'palsu'. Ini memiliki beberapa saluran untuk menampilkan menu, skrip, gaya, dll.
'Tampilan' adalah kontrol pengguna individu.
Ada tabel dengan informasi tentang setiap tampilan. Misalnya, 'Produk' akan dimuat
~/Controls/Product.ascx
ke placeholder. Tabel juga memiliki bidang yang berisi nama tipe kelas model (seolah-olah). Setiap model menerapkan antarmuka yang terkenal. Kelas ini dipakai menggunakanActivator.CreateInstance()
dan dipanggil untuk menginisialisasi, dan kemudian diteruskan ke kontrol itu sendiri (inversi kontrol?). Kontrol kemudian memanggil berbagai metode untuk mendapatkan dataset atau yang lainnya. Antarmuka itu sendiri dinormalisasi untuk memiliki metode CRUD biasa (Baca / Tulis / Daftar / Hapus). Ada juga lapisan DAL / ORM di bawah ini.Itu tidak cantik, tapi itu bekerja dengan baik. Mudah untuk menguji dan mengembangkan, dan sebagian besar pengembang yang datang akan menangkap cukup cepat. Yang terutama, itu relatif sederhana untuk dibuat.
sumber