Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Uyarı
Bu içerik, Çerçeve Tasarım Yönergeleri: Kurallar, Deyimler ve Yeniden Kullanılabilir .NET Kitaplıkları için Desenler, 2. Sürüm'den Pearson Education, Inc.'in izniyle yeniden yazdırılır. Bu baskı 2008'de yayımlandı ve kitap o zamandan beri üçüncü baskıda tamamen revize edilmiştir. Bu sayfadaki bazı bilgiler güncel olmayabilir.
Genel amaçlı değer türü genellikle C# dilindeki "struct" anahtar sözcüğüyle anılır. Bu bölümde genel yapı tasarımına yönelik yönergeler sağlanmaktadır.
❌ Bir yapı için parametresiz bir oluşturucu SAĞLAMAYIN.
Bu yönergeyi izleyerek, dizinin her öğesinde oluşturucuyu çalıştırmak zorunda kalmadan yapı dizilerinin oluşturulmasına olanak tanır. C# öğesinin yapıların parametresiz oluşturuculara sahip olması için izin vermediğini fark edin.
❌ Değiştirilebilir değer türlerini TANıMLAMAYIN.
Değiştirilebilir değer türlerinin çeşitli sorunları vardır. Örneğin, bir özellik get metodu bir değer türü döndürdüğünde, çağıran taraf bir kopya alır. Kopya örtük olarak oluşturulduğundan, geliştiriciler özgün değeri değil kopyayı değiştirdiklerinin farkında olmayabilirler. Ayrıca, bazı dillerde (özellikle dinamik diller) değişken değer türleri kullanırken sorun yaşanıyor çünkü yerel değişkenler bile başvurulduğunda kopyanın yapılmasına neden oluyor.
✔️ Tüm örnek verilerinin sıfır, yanlış veya null (uygun şekilde) olarak ayarlandığı bir durumun geçerli olduğundan emin olun.
Bu, yapıların bir dizisi oluşturulduğunda geçersiz örneklerin yanlışlıkla oluşturulmasını önler.
✔️ DEĞER türlerine IEquatable<T> uygulayın.
Değer türleri üzerindeki Object.Equals yöntemi, kutulamaya neden olur ve yansıma kullandığından varsayılan uygulaması verimliliği düşüktür. Equals çok daha iyi performansa sahip olabilir ve kutulamalara neden olmayacak şekilde uygulanabilir.
❌❌ AÇIKÇA GENİŞLETMEYİN. Aslında çoğu dil bunu engeller.
Genel olarak yapılar çok yararlı olabilir, ancak yalnızca sık sık kutulanmayacak küçük, tek, sabit değerler için kullanılmalıdır.
Porsiyonlar © 2005, 2009 Microsoft Corporation. Tüm hakları saklıdır.
Pearson Education, Inc. tarafından Krzysztof Cwalina ve Brad Abrams'ın Yeniden Kullanılabilir .NET Kütüphaneleri için Çerçeve Tasarım Yönergeleri: Sözleşmeler, Deyimler ve Kalıplar, 2. Baskı eserinden izniyle yeniden basılmıştır. Addison-Wesley Professional tarafından Microsoft Windows Geliştirme Serisi kapsamında 22 Ekim 2008'de yayımlanmıştır.