Apa praktik utama dan pola desain yang harus diketahui oleh setiap orang .NET? [Tutup]

16

Dalam waktu singkat saya sebagai programmer profesional saya telah melihat banyak aplikasi yang ditulis oleh programmer yang seluruh pendidikan tampaknya telah membaca beberapa bab pertama dalam buku .NET 2.0.

Heck ketika saya mulai saya menulis sebagian besar aplikasi tersebut!

Apa pola desain terbesar yang penting untuk menulis aplikasi .NET yang LUAR BIASA?

Maksud saya di dalam juga!

Daniel Upton
sumber
Tidak ada yang penting.
kirk.burleson

Jawaban:

22

Pertama: Ketahui alat dasar Anda dengan baik

  1. Ketahui model acara ASP.Net. Anda akan berantakan jika tidak melakukannya.

  2. Memahami mekanisme OO. Sejumlah programmer Net yang relatif berpengalaman tampaknya masih berpikir itu adalah 1972.

  3. Mulai membaca Kode Lengkap.

Kedua: Belajarlah untuk memisahkan masalah

Desain-kejahatan paling umum yang saya lihat dalam pengembangan ASP.Net adalah untuk menjejali semua logika bisnis dalam kode-belakang. Saya tahu bahwa semua contoh Microsoft melakukannya dengan cara itu. Saya tahu itu dibenarkan pada aplikasi kecil. Dan saya tahu kadang-kadang saya melakukannya dengan cara itu. Tapi sungguh, itu desain yang buruk, dan ini adalah kebencian peliharaan saya selama seminggu.

Ketiga: Pelajari semua hal lain tentang desain

Sebagian besar kualitas buruk. Kode bersih yang saya lihat adalah hasil dari desain OO yang buruk. Karena itu, saya akan merekomendasikan pemahaman yang baik tentang:

  • Prinsip-prinsip SOLID
  • Pola Desain GoF
  • MVC (untuk ASP.Net MVC)

Keempat: Mengenal lebih banyak alat

Anda tahu bagaimana Microsoft membuat segalanya menjadi mudah dengan menyediakan banyak alat out-of-the-box? Nah, cepat atau lambat Anda akan mencapai batasannya. Ketika Anda melakukannya, Anda harus menekuknya sesuai keinginan Anda atau memutar Anda sendiri. Either way, Anda harus turun-kotor dengan beberapa CSS dan Javascript.

Akhirnya

Setelah Anda melakukan banyak hal, Anda siap untuk menjadi luar biasa.

[Sunting: Memperbaiki urutan untuk mempelajari teknik ini. Rupanya saya tidak bisa menghitung kemarin ...]

Kramii
sumber
"Ketika Anda melakukannya, Anda harus membengkokkannya sesuai keinginan Anda atau memutar sendiri" Atau gunakan sesuatu Open Source. 1, tetap, baik jawaban
pdr
Terima kasih .. Jawaban yang benar-benar luar biasa :-) tetapi ada apa buzz ini tentang mvvm, ioc, mvp, repositori, pabrik ... Masukkan kata kunci besar lainnya di sini .. apa pendekatan "berkah microsoft" saat ini untuk membangun aplikasi web?
Daniel Upton
3
MVVM - (saat ini) pola desain yang sangat spesifik untuk WFP / Silverlight. MVP - pola yang mirip dengan MVC, dengan beberapa perbedaan dalam interaksi antara kelas / lapisan. Repositori / pabrik / IOC - harus dicakup dalam bacaan Anda untuk "Ketiga" di atas, mereka berhubungan dengan pemisahan masalah, prinsip KERING, dan desain yang dapat diuji. Pendekatan "diberkati Microsoft" - tergantung apa kebutuhan Anda. Tren saat ini tampaknya adalah MVC3, yang sangat memungkinkan untuk mengaktifkan desain "baik" dengan lebih sedikit keributan, dengan IOC / DI yang mudah, pengontrol yang dapat diuji, dll.
mjhilton
3
@Aniel Tentu saja ada banyak kata kunci di luar sana. Hal terpenting yang dapat Anda lakukan adalah mempelajari apa itu dan jenis masalah apa yang bisa mereka bantu selesaikan. Jangan terjebak dalam perangkap seluruh aplikasi Anda menjadi satu set pola desain yang tidak menambah nilai di bidang rawatan, atau lebih buruk - sulit dipahami (kadang-kadang begitu banyak sehingga Anda tidak dapat mengingat apa sesuatu lakukan 6 bulan setelah Anda menulisnya). Biarkan pola yang berlaku membantu Anda membuat masalah yang kompleks menjadi lebih sederhana.
Michael Dean
1
@Aniel: Saya benar-benar tidak akan terlalu khawatir tentang pendekatan "Microsoft diberkati". Desain yang baik adalah desain yang baik tidak peduli siapa yang memberkatinya. Bahkan Microsoft sering bermain mengejar di bidang ini (misalnya, ASP.Net MVC sebagai tanggapan terhadap kerangka kerja MVC lainnya). Yang mengatakan, Anda harus tetap sadar akan teknologi Micosoft . Desain hebat diketahui gagal karena tidak sesuai dengan perangkat yang tersedia.
Kramii
0

Variasi poin yang disebutkan oleh Kramii semuanya bermanfaat, tetapi saya ingin menekankan penyebutan bekerja dengan prinsip-prinsip SOLID. Mendapatkan pemahaman yang benar-benar bagus tentang hal ini akan membuat perbedaan besar, dan banyak dari pola GoF dll akan mulai rontok secara lebih alami. Sebagian besar dari hal-hal ini pada akhirnya adalah tentang memisahkan kekhawatiran Anda dan mengelola dependensi Anda, jadi mulailah dari sumbernya dan yang lainnya masuk akal.

Jika Anda seperti saya sebelum kursus coding OO baru-baru ini dengan JP Boodhoo, prinsip tanggung jawab tunggal jauh lebih berarti daripada yang Anda pikirkan! Sangat berharga untuk memahami seberapa kecil sebuah kelas ketika Anda tetap pada ini dengan baik.

eviltobz
sumber