SORU
28 EYLÜL 2009, PAZARTESİ


En iyi uygulamalar: özellikleri bloklarından

Ne zaman özelliğini alıcı içinde bir istisna ya da ayarlayıcı atmak için uygun mu? Ne zaman uygun değildir? Neden? Konu ile ilgili dış kaynaklı dokümanlar linkler yararlı olacaktır... Google şaşırtıcı derecede küçük bulundu.

CEVAP
28 EYLÜL 2009, PAZARTESİ


Microsoft http://msdn.microsoft.com/en-us/library/ms229006.aspx özellikler tasarım için nasıl öneriler vardır

Aslında, özellik alıcılar her zaman güvenli arama için hafif erişenleri olmasını tavsiye ediyorlar. Yeniden tasarlama alıcılar ise istisnalar atmak istediğin bir şey varsa yöntemler olarak tavsiye ediyorlar. Belirleyiciler özel durumlar için uygun ve kabul edilebilir hata işleme bir strateji olduğunu gösterir.

Dizin oluşturucu için, Microsoft, her iki alıcı ve ayarlayıcıları istisnalar atmak için kabul edilebilir olduğunu gösterir. Ve aslında, birçok " dizin oluşturucu .NET kitaplığı. En yaygın durum ArgumentOutOfRangeException olmak.

Özellik alıcılar: istisnalar atmak istemiyorsun neden bazı çok iyi nedenleri vardır

  • Çünkü özellikleri "görünür" alanlar, her zaman değil belli ki onlar atmak bir (tasarım) istisna; oysa yöntemleri, programcıları eğitimli beklemek ve araştırmak ister istisnalar da beklenen bir sonuç çağırma yöntemi.
  • Alıcılar bir sürü tarafından kullanılır .NET altyapı, serializers ve veri (örneğin, Win ve WPF) gibi - bu tür koşullarda özel durumları ile ilgili hızla sorunlu hale gelebilir.
  • Özellik alıcılar otomatik olarak veya bir nesne izlemek incelerken hata tarafından değerlendirilir. Bir istisna burada kafa karıştırıcı olabilir ve hata ayıklama çabalarını yavaşlatabilir. Ayrıca istenmeyen aynı nedenlerle özellikleri diğer pahalı işlemleri (veritabanı erişimi gibi) gerçekleştirmek için.
  • Özellikleri genellikle zincirleme bir kongre olarak kullanılır: obj.PropA.AnotherProp.YetAnother - sözdizimi bu tür sorunlu istisna catch ifadeleri enjekte etmeye karar olur.

Bir yan not olarak, bir özellik diye bilmelidirtasarlanmış değilistisna, o değil; kolayca arama olabilir mi kod olmayacak anlamına gelmez. Yeni bir nesne (bir dize gibi) ayrılırken bile basit hareket özel durumlar neden olabilir. Her zaman kodunuzu defansif yazmak ve hiçbir şeyden istisnalar çağırmak bekleyebilirsiniz.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • BeginnersTech

    BeginnersTec

    8 NİSAN 2011
  • Matt Stokes

    Matt Stokes

    22 Ocak 2008
  • FusioNGamiing

    FusioNGamiin

    10 Temmuz 2007