Perusahaan saya memasang daftar pekerjaan untuk membantu saya. Seorang perekrut memanggil saya hari ini dan yang terus dia katakan adalah "MVC Kerangka Entitas ini yang ..." - Dia terdengar kaget ketika saya mengatakan proyek tersebut menggunakan DataSets dan Linq2Sql atas WinForms dan ASP.NET WebForms.
Kemudian saya mencari pilihan untuk pengujian situs web otomatis dan saya menemukan ini di sini : dan saya mulai gelisah.
Kebanyakan orang "yang tahu" menggunakan lapisan presentasi untuk membuat ASP.NET sangat tipis sehingga alat seperti NUnitAsp tidak membantu.
Orang ini tahu, dan teman-temannya tampaknya tahu. Saya juga ingin tahu, karena tidak tahu apa-apa membuat saya merasa tidak aman dan sedikit sedih.
Dalam upaya saya selama setahun terakhir untuk mengikuti perkembangan zaman, saya menyadari manfaat besar dari Linq2Sql dan wadah Unity. Mereka berdua tidak lain selain baik bagi saya - mengisi kekosongan yang sudah tampak jelas bagi saya sejak lama.
Kemudian saya pindah ke Model-View-Preseneter untuk WinForms GUI dan sekali lagi sangat senang dengan itu untuk alasan yang sama - saya telah lama bertanya pada diri sendiri bagaimana memisahkan hal-hal sehingga saya bisa memiliki klien yang tebal dan web klien berbagi logika umum mereka dalam basis kode umum.
Namun, saya berjuang dengan yang berikut ini. Dan saya tahu jutaan orang tidak mungkin salah dan saya tidak lebih pintar dari massa, tetapi saya perlu bantuan untuk melihat:
- MVC sebagai evolusi dari WebForms
- WPF sebagai evolusi dari WinForms
- Kerangka Entitas sebagai evolusi Linq2Sql (dan, dalam hal ini
penghentian set data)
(Saya menduga itu semua berasal dari saya, sampai saat ini, kurangnya memperoleh Test Fahrvergnügen)
Jadi, saya telah bertanya pada diri sendiri, dan tidak mendengar jawaban untuk:
- Apa yang saya peroleh dengan menggunakan MVC dalam aplikasi web? Saya tahu saya mendapatkan artefak kode sumber tambahan dan DSL baru untuk dipelajari. Apa lagi?
- Apa yang akan terjadi jika saya menggunakan objek WPF tanpa pola MVVM? Apakah saya akan melukai peluang saya untuk mendapatkan pekerjaan di tempat lain?
- Dalam hal ini, apakah WinForms benar-benar rusak? Apakah ini saya atau apakah Visual Studio memiliki kelambanan visual pada mesin dual core 2.8 GHZ saya dengan 8 Gigs of RAM? Saya suka tajam. Saya ingin pengguna akhir mengalami tajam setiap saat tanpa gagal.
- Mengapa Kumpulan Data "cara lama"? Mereka tampaknya cepat efisien dan ringkas untuk banyak masalah kecil hingga menengah yang harus saya selesaikan (namun mereka bahkan tidak di Silverlight).
Saya merasa ada banyak kerumitan di piring dan menyebarkannya tidak akan membuatnya hilang. Jumlah kompleksitas intrinsik perlu dihadapi secara langsung, dan mungkin rekayasa perangkat lunak harus menjadi lebih seperti teknik listrik atau teknik mesin, atau operasi otak.
sumber
Jawaban:
+1 karena dapat mengekspresikan diri Anda tanpa rasa malu.
Saya sarankan mengikuti blog. Jika Anda ingin "tahu", ikuti orang-orang ini
Orang-orang itu dan satu orang itu menulis blog yang mudah diikuti dan dimengerti. Anda dapat menemukannya di web (coba cari Google dengan Bing)
sumber
Saya pikir Anda mengajukan beberapa pertanyaan bagus. Apa intinya, bagiku, terus-menerus bertanya, "Apakah ada cara yang lebih baik?"
Apakah ada gangguan yang saya miliki dengan menggunakan set data? Apakah ada gangguan yang saya miliki dengan terus-menerus mengulangi daftar item? Ambil permintaan itu ke google, dan lihat bagaimana orang lain melakukannya.
Saya menyamakannya dengan listrik. Kawat emas dalam isolasi kapas akan bekerja. Tetapi ada beberapa masalah. Ada metode yang lebih murah, dan lebih aman yang digunakan untuk mengirim kawat ke rumah saat ini (sebagai akibatnya, kode-kode di kota-kota membutuhkan teknologi yang lebih baru.) Sekarang jika Anda menyewa seorang tukang listrik, Anda dapat menemukan orang yang hanya tahu cara lama, dan dia bisa membuat ini bekerja. Atau Anda bisa mempekerjakan orang yang up-to-date tentang teknologinya dan dia akan membuatnya bekerja dan lebih aman.
Begitu juga dengan kode. Anda bisa menjalankan Ado.Net dan mengeksekusi kode (dan kadang-kadang Anda harus melakukannya.) Tetapi kode tersebut akan kurang dapat dibaca (dan mungkin lebih sedikit bisa dikelola) daripada menggunakan ORM. Kesulitannya adalah Anda perlu mengetahui "cara lama" sehingga Anda memiliki pemahaman tentang apa yang terjadi dengan "cara baru". Jadi jangan gunakan MVC hanya karena ini baru, lihat manfaatnya dan timbang manfaatnya dengan cara lama.
sumber