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.