Her .NET çalışanının bilmesi gereken ana uygulamalar ve tasarım modelleri nelerdir? [kapalı]


16

Profesyonel bir programcı olarak kısa bir süre içinde, tüm eğitim boyunca .NET 2.0 kitabındaki ilk birkaç bölümü okuyor gibi görünen programcılar tarafından yazılmış birçok uygulama gördüm.

Heck başladığımda bu uygulamaların çoğunu yazdım!

AWESOME .NET uygulamaları yazmak için en önemli tasarım kalıpları nelerdir?

Müthiş demek ben de içeride demek!


Hiçbiri çok önemli değil.
kirk.burleson

Yanıtlar:


22

İlk olarak: Temel araçlarınızı iyi tanıyın

  1. ASP.Net olay modelini bilin. Eğer yapmazsan bir karmaşaya gireceksin.

  2. OO mekaniğini kavrar . Şaşırtıcı sayıda nispeten deneyimli .Net programcıları hala 1972 olduğunu düşünüyor.

  3. Kod Tamamlandı okumaya başlayın.

İkincisi: Endişeleri ayırmayı öğrenin

ASP.Net geliştirmede gördüğüm en yaygın tasarım suçu, arkadaki koddaki tüm iş mantığını doldurmaktır. Tüm Microsoft örneklerinin bu şekilde yapıldığını biliyorum. Küçük uygulamalarda haklı olduğunu biliyorum. Ve biliyorum ben bazen bu şekilde yapmak. Ama gerçekten, kötü bir tasarım ve hafta boyunca evcil hayvanımdan nefret ediyorum.

Üçüncüsü: Tasarım hakkında her şeyi öğrenin

Gördüğüm düşük kaliteli .Net kodu çoğu kötü OO tasarımının sonucudur. Bu nedenle, aşağıdakilerin iyi anlaşılmasını öneririm:

  • KATI prensipler
  • GoF Tasarım Desenleri
  • MVC (ASP.Net MVC için)

Dördüncü: Daha fazla araç tanıyın

Kullanıma hazır birçok araç sağlayarak Microsoft'un işleri nasıl kolaylaştırdığını biliyor musunuz? Er ya da geç sınırlarına ulaşacaksınız. Bunu yaptığınızda, ya onları kendi isteğinize göre bükmeniz ya da kendi isteğinizi yuvarlamanız gerekecektir. Her iki durumda da, bazı CSS ve Javascript ile kirlenmeniz gerekecek.

En sonunda

Bir sürü şeyi yaptıktan sonra, harika bir yola çıkıyorsun.

[Düzenle: Bu sütürü öğrenme sırası düzeltildi. Görünüşe göre dün sayamadım ...]


“Bunu yaptığınızda, ya onları kendi isteğinize göre bükmeniz ya da kendi isteğinizi yuvarlamanız gerekecek” ya da Açık Kaynak bir şey kullanmanız gerekecek. +1, yine de, iyi cevap
pdr

Teşekkürler .. Gerçekten harika cevap :-) ama mvvm, ioc, mvp, depolar, fabrikalar hakkında tüm bu vızıltı ... Buraya başka büyük bir buzzword yerleştirin .. web uygulamaları oluşturmak için mevcut "microsoft mübarek" yaklaşım nedir?
Daniel Upton

3
MVVM - (şu anda) çok WFP / Silverlight'a özgü bir tasarım deseni. MVP - sınıflar / katmanlar arasındaki etkileşimlerde bazı farklılıklar ile MVC'ye benzer bir model. Depolar / fabrikalar / IOC - yukarıdaki "Üçüncü" için okumanızda ele alınmalıdır, endişelerin ayrılması, KURU ilkesi ve test edilebilir tasarım ile ilgilidir. "Microsoft tarafından kutsanmış" yaklaşım - ihtiyaçlarınızın ne olduğuna bağlıdır. Mevcut trend kesinlikle kolay IOC / DI, test edilebilir kontrolörleri vb çok daha az zahmetle "iyi" bir tasarım sağlayarak için uzun bir yol gider MVC3, gibi görünüyor
mjhilton

3
@Daniel Kesinlikle çok fazla terim var. Yapabileceğiniz en önemli şey, ne olduklarını ve çözmenize yardımcı olabilecekleri sorunları öğrenmektir. Tüm uygulamanızı, sürdürülebilirlik alanında değer katmayan veya daha kötüsü olmayan bir tasarım desenleri kümesine sıkıştırmanın tuzağına kapılmayın, anlaşılması zor (bazen o kadar çok şey hatırlayamazsınız) yazdıktan 6 ay sonra). Uygulanabilir kalıpların karmaşık sorunları basitleştirmenize yardımcı olmasına izin verin.
Michael Dean

1
@Daniel: "Microsoft mübarek" yaklaşımları hakkında gerçekten fazla endişelenmezdim. İyi tasarım kimin nimetini olursa olsun iyi tasarımdır. Aslında Microsoft genellikle bu alanda yakalanır (örn. ASP.Net MVC, diğer MVC çerçevelerine yanıt olarak). Bununla birlikte, Micosoft teknolojisinin farkında olmanız gerekir . Harika tasarımların başarısız olduğu biliniyor çünkü mevcut araç setine uymuyorlar.
Kramii

0

Kramii'nin bahsettiği noktaların çeşitliliği çok iyi, ancak SOLID ilkeleriyle çalışmanın sözünü vurgulamak istiyorum. Bunları gerçekten iyi anlamak büyük bir fark yaratacak ve GoF modellerinin çoğu vb. Daha doğal olarak düşmeye başlayacak. Bu şeylerin çoğu endişelerinizi ayırmak ve bağımlılıklarınızı yönetmekle ilgilidir, bu yüzden kaynağa başlayın ve her şey mantıklı olacaktır.

JP Boodhoo ile yaptığım son OO kodlama kursundan önce olduğum gibi bir şeyseniz, tek sorumluluk ilkesi düşündüğünüzden çok daha fazlası demektir! Bu kuyuya sadık kaldığınızda bir sınıfın ne kadar küçük olabileceğini anlamaya değer.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.