Bagaimana saya bisa "mengetahui"?

8

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.

Aaron Anodide
sumber
7
T&J utas biasanya lebih baik ketika Anda mengajukan satu pertanyaan pada satu waktu. Dan beberapa pertanyaan spesifik yang Anda ajukan di sini telah dijawab.
Aaronaught
1
"Dan aku tahu jutaan orang tidak mungkin salah dan aku tidak lebih pintar daripada massa," aku tertawa. Jutaan orang menggunakan JSF. Bahkan James Gosling membencinya dan itu menyebalkan. Tapi tetap saja: Orang-orang berpikir itu standar sehingga mereka harus menggunakannya.
Falcon
JSF standar sekarang? Wow. Atau haruskah saya katakan, Aduh.
Michael K
Dulu saya suka, tapi kemudian mereka mengubah apa itu . Sekarang apa yang saya dengan tidak itu , dan apa itu tampaknya aneh dan menakutkan bagi saya.
AlexC

Jawaban:

9

Ya, saya juga ingin tahu, karena tidak tahu apa-apa membuat saya merasa tidak aman dan sedikit sedih.

+1 karena dapat mengekspresikan diri Anda tanpa rasa malu.

Saya sarankan mengikuti blog. Jika Anda ingin "tahu", ikuti orang-orang ini

  • Barang keren umum: Rob Conery; Jeff Atwood, Joel Spolsky
  • MVC: Scott Hanselmann, Rachel Appel, Rob Conery (Lagi)
  • .NET secara umum: Scott Guthrie, Jeff Atwood, Jon Skeet

Orang-orang itu dan satu orang itu menulis blog yang mudah diikuti dan dimengerti. Anda dapat menemukannya di web (coba cari Google dengan Bing)

Kristofer Hoch
sumber
5
"coba googling untuk mereka dengan Bing" - Kenapa tidak "google" dengan, uh .... Google? ;)
FrustratedWithFormsDesigner
5
Saya google semua Google saya dengan Bing. +1
Sam DeHaan
7
Bing adalah cara terbaik untuk google sejak Yahoo!
Kristofer Hoch
3

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.

taylonr
sumber
Saya setuju dengan pengamatan Anda - saya bermain catchup - namun, kemarin saya mencoba menggunakan kerangka kerja Entity dan sekitar 10 menit saya dipukul dengan itu tidak mendukung datatype XML - saya seperti .. "Ya ampun!" dan kembali ke L2S (lagi) :)
Aaron Anodide
1
Tentang dataset - Saya tidak yakin saya setuju dengan analogi untuk komponen electical out-moded. Katakanlah saya disuruh mengembangkan aplikasi jam waktu (saya dulu) untuk majikan saya - Menggunakan desainer winforms dan desainer dataset yang saya lakukan dalam sehari. Saya tidak menulis kode akses data - semuanya dibuat. Saya tidak memiliki tes karena saya tidak melakukan apa pun yang saya bisa mengacaukannya. Saya mengalami kesulitan melihat mengapa saya ingin membuat hidup saya lebih sulit dengan menulis pertanyaan LINQ dan kelas parsial untuk membuat lapisan data yang merupakan "model" yang sebenarnya.
Aaron Anodide
Anda tidak selalu ingin, dan itu poin yang bagus. Anda harus mengevaluasi setiap kasus dan melihat kapan itu sesuai. Saya ada di beberapa proyek bahwa jika saya harus melakukan pekerjaan dataset saya akan gila. Tetapi saya juga telah menulis aplikasi di mana ado.net adalah cara tercepat dan termudah.
taylonr