MVC, WCF, EF, LINQ - Apakah hanya saya? [Tutup]

17

... atau hal-hal menjadi lebih rumit?

Menurut saya, Anda perlu tahu banyak hal untuk 'mengembangkan' aplikasi web MS dengan benar saat ini. Di masa lalu yang buruk ketika kami tidak tahu lebih baik kami memiliki tabel database, ASP.NET, ADO.NET dan Anda membuat aplikasi web menggunakan konsep yang relatif sederhana.

Saat ini tampaknya ada banyak kerangka kerja di sekitar untuk 'membantu' Anda melakukannya 'benar', tapi saya tidak yakin ini membuat semuanya lebih mudah dan lebih baik. Saya punya perasaan saya akan berada di minoritas yang cukup kecil dengan sentimen ini, tetapi apakah ada orang lain di luar sana yang berpikir bahwa hal-hal sudah agak gila?

Pekerja harian
sumber
MVC = ASP.Net, WCF = Layanan web +. Remoting Net, EF = ADO.Net, Linq adalah pengganti dari beberapa loop foreach. Sekarang ada banyak kerangka kerja seperti sebelumnya.
vortexwolf
John, aku harus 'sebagian' setuju denganmu. Saat ini saya sedang meningkatkan keterampilan .Net saya, tentunya lebih banyak untuk dilalui daripada 5 tahun yang lalu.
TehMinumGeek
Meskipun mungkin ada banyak teknologi DB di arena MS, pertanyaan ini benar-benar di luar topik di situs ini. Itu tidak benar-benar mengajukan pertanyaan dan jatuh tepat ke dalam "... Menyebalkan, apakah saya benar?" Kategori kata-kata kasar tercantum dalam FAQ
Walter

Jawaban:

17

Semua hal itu opsional, gunakan jika bermanfaat, jangan jika tidak. Sesederhana itu. Anda tentu dapat menulis aplikasi web yang baik / tepat tanpa menggunakan salah satu akronim tersebut dalam solusi Anda.

Secara pribadi, saya cenderung menemukan MVC sebagai kerangka kerja yang cukup ringan dan mudah digunakan (jauh lebih mudah untuk memulai daripada bentuk web, imo). Demikian juga, LINQ menyediakan cara umum untuk menanyakan sesuatu; juga bagus. EF dan WCF dan saya memiliki perbedaan pendapat, tetapi ketika itu masalahnya, saya tidak menggunakannya.

Paul
sumber
2
Memberi +1 pada 'gunakan jika bermanfaat'. Saya mencoba menggunakan aturan, mencoba melakukan 1 'hal' baru di setiap proyek. Setelah beberapa saat, Anda akan memiliki pengalaman dengan banyak hal dan melihat segala sesuatunya menjadi lebih mudah saat Anda menggunakannya lebih banyak.
Jan_V
Memberi +1 kepada Anda juga untuk 'mencoba melakukan 1 hal baru di setiap proyek'. Saya suka belajar dan berkembang juga.
Paul
1
Saya mencoba melakukan 1 hal baru di setiap proyek, tetapi itu biasanya karena hal baru yang saya pelajari di proyek terakhir sekarang sudah usang :)
gbjbaanb
9

Tidak terlalu. LINQ adalah hal terbaik sejak mengiris roti ketika berinteraksi dengan database.

Yang harus Anda ingat adalah bahwa hal-hal ini dibangun di atas hal-hal lain. LINQ tidak menambah jumlah hal yang perlu Anda ketahui untuk mengembangkan situs web ASP.NET, karena sekarang Anda tidak perlu tahu SQL. Dan LINQ adalah OO, yang jauh lebih sejalan dengan pengembangan aplikasi reguler, yang membuatnya menjadi omong kosong yang lengkap lebih mudah dilakukan daripada SQL, dan jauh lebih mudah untuk diintegrasikan dengan C #.

Jika Anda tidak berpikir bahwa LINQ lebih mudah daripada SQL, mungkin Anda harus memposting beberapa contoh sesuatu yang lebih sulit dalam paradigma baru.

Lebih penting lagi, sebelumnya situs web memiliki fungsionalitas yang jauh lebih sedikit. Bagaimana Anda membuat situs web baru yang berkinerja lebih baik, skala lebih baik dan menawarkan fungsi baru dalam kode yang sama?

DeadMG
sumber
4
Gabung kiri di LINQ lebih sulit daripada di SQL. Juga jika Anda mencoba memecahkan masalah database, Anda akhirnya harus melihat SQL. Ditambah lagi dengan mengetahui SQL akan membantu Anda jika Anda ingin pindah ke platform pengembangan non-Microsoft.
btilly
10
Tidak ada kerangka kerja ORM yang sekuat SQL. Ada pertanyaan yang harus saya lakukan yang hampir tidak mungkin dilakukan dalam kerangka kerja ORM.
bit-twiddler
1
@ bit-twiddler> ya, dan itulah sebabnya sebagian besar kerangka kerja ORM memungkinkan Anda mengeksekusi SQL mentah (atau sprocs) juga. Anda dapat meminta orang C # yang baik untuk menulis sebagian besar permintaan pejalan kaki, dan para pakar DB seperti Anda dapat mengemas barang-barang sulit untuk mereka dalam sproc atau view.
Paul
1
Sementara saya mendesain database skala besar dan menulis banyak sisi klien dan SQL sisi server, saya bukan DBA. Saya seorang insinyur perangkat lunak. Saya tidak pernah bekerja di mana pun di mana pengembang perangkat lunak di mana uni-terampil. Pada hari tertentu, saya dapat menulis kode dalam C, C ++, Java, Object Pascal, PL / SQL, atau bahasa assembly Intel (Saya tidak menghitung HMTL, XML, dan CSS sebagai bahasa pemrograman karena mereka tidak Turing Lengkap). Saya memelihara set alat saya sendiri dan lingkungan pengujian berbasis Tomcat juga (semua orang di tim saya memiliki server Tomcat mereka sendiri).
bit-twiddler
1
Menulis LINQ untuk berinteraksi dengan database (LINQ-to-SQL, LINQ-to-Entities) tanpa mengetahui SQL ...? Resep untuk bencana.
Kirk Broadhurst
3

Jika konsep lama yang Anda sebutkan tidak berfungsi lagi, saya setuju bahwa itu akan menjadi gila, tetapi kerangka kerja yang lebih baru adalah alternatif. Penerimaan buta akan menjadi gila. Anda perlu membenarkan. Secara pribadi, SQL itu sendiri bukan masalah bagi saya. Mencoba menambahkan beberapa fungsi situs web modern, formulir web tidak memotongnya lagi.

Saya yakin beberapa orang ASP klasik merasakan hal yang sama tentang. NET, tetapi sedikit yang dapat terus membuat argumen itu. Saya membangun beberapa situs di ASP klasik dan tidak akan kembali.

JeffO
sumber
2

"Sudah agak gila". Itulah cara saya menggambarkan solusi DataSet, ADO.NET, ASP.NET. :)

Saya setuju ada banyak lagi yang harus dipelajari, tetapi masing-masing kerangka yang Anda sebutkan telah membuat pengembangan .NET lebih baik.


sumber
0

Saya akan mengatakan bahwa ini adalah masalah global yang dapat mempengaruhi hampir semua kerangka kerja atau platform (pengembang). Ketika kerangka baru dirilis biasanya terlihat kecil dan kompak, tetapi seiring berjalannya waktu dan fitur / fungsi / API baru dimasukkan (baik dengan roadmap / permintaan, konsep / tren / teknologi baru atau hanya dengan evolusi) ia menjadi "membengkak". Anda mulai dengan "satu cara melakukan sesuatu" dan sekarang ada lebih banyak kemungkinan yang dapat Anda pilih (dan - Anda tidak tahu / tidak yakin - mana yang harus dipilih). Mungkin perlu waktu untuk mempelajari hal-hal baru, tetapi mereka dapat menawarkan Anda solusi yang jauh lebih fleksibel / lebih cepat / lebih baik untuk masalah yang sama yang sebelumnya diselesaikan dengan serangkaian pilihan terbatas.

Saya pernah menemukan sebuah kutipan lucu - "semua kode berubah menjadi s #! T diberikan cukup waktu dan tangan" - yang IMHO merangkum mengapa hal-hal baru dalam kerangka kerja yang ada harus muncul untuk membawa ide-ide segar ke dalam tindakan dan melakukan evolusi.

yojimbo87
sumber