14 EKİM 2009, ÇARŞAMBA
Neden alıcıları ve ayarlayıcıları kullanın?
Alıcıları ve ayarlayıcıları kullanmanın avantajı, tek ve set olsun - - sadece bu değişkenler için ortak alanları kullanmak yerine ne?
Eğer alıcı ve ayarlayıcıları her zamankinden çok daha fazlasını yapıyor ise basit/hazır, bu çok hızlı bir şekilde çözebilirim, ama 0 nasıl emin değilim:
public String foo;
daha kötü
private String foo;
public void setFoo(String foo) { this.foo = foo; }
public String getFoo() { return foo; }
Eski klişe daha az kod çok zaman alır oysa.
Liste burada Java web dev açısından bana kazananlar, görünen, üstünde derleme:
- Daha sadece bir set daha yapın ve değerini almak gerekir anladığında, bulunanla her dosyayı değiştirmek zorunda değilsin.
- Doğrulama burada gerçekleştirebilirsiniz.
- Değeri ayarlanan değiştirebilirsiniz.
- İç temsil gizleyebilirsiniz. () getAddress aslında sizin için bazı alanlar almak olabilir.
- Çarşafın altına değişikliklerden ortak arayüz izole ettik.
- Bazı kütüphaneler bu bekliyoruz. Yansıma, seri hale getirme, mock nesneler.
- Bu sınıf miras, varsayılan işlevi geçersiz kılabilirsiniz.
- Alıcı ve ayarlayıcı için farklı erişim seviyeleri olabilir.
- Tembel yükleme.
- İnsanlar kolayca Python kullanmadığını söyleyebilir.
CEVAP
14 EKİM 2009, ÇARŞAMBA
Var aslındabir çok sebebi varset kullanmayı düşünündoğrudan bir sınıfın alanları - saklama sadece tartışmasız teşhir ve gelecekteki değişiklikleri daha kolay hale getirmek yerine.
Burada farkındayım bazı sebepler:
- Davranış saklama alma ya da geç özelliği - bu ek işlevler (doğrulama gibi) daha kolay eklenmesi için izin verir ayarı ile ilgili.
- Saklanacak bir özelliği, alternatif bir gösterimi kullanarak aydınlatırken özelliği iç gösterimi.
- Değişim, ortak ınterface - ortak arabirim mevcut tüketiciler etkilemeden uygulama değişiklikleri sırasında sabit kalmasını sağlayan yalıtım.
- Bu ömür boyu kontrol ve bellek yönetimi (atma) özelliği anlambilim - özellikle önemli olmayan yönetilen bellek ortamları (C veya Objective-C gibi).
- Bir özellik çalışma zamanında değişiklikler için hata ayıklama kesme noktası belirli bir özellik değeri değiştiğinde hata ayıklama sağlayan bazı dillerde bu olmadan oldukça zor olabilir.
- Bir özellik alıcı/ayarlayıcı - Alay, Seri hale getirme, ve WPF karşı çalışması için tasarlanmış kitaplıkları ile geliştirilmiş birlikte çalışabilirlik akla geliyor.
- Varisleri özelliği davranır ve alıcı kılarak nasıl ifşa semantiği değiştirmek için izin ayarlayıcı yöntemleri/.
- Alıcı/ayarlayıcı izin vermek yerine, değer olarak lambda ifadeleri etrafında geçti.
- Alıcıları ve ayarlayıcıları olsun ortak olabilir farklı erişim düzeyleri - örneğin izin verebilirsiniz, ama set korumalı olabilir.
Bunu Paylaş:
Python @alıcıları ve ayarlayıcıları öz...
Neden metin dosyaları Apache tarafında...
Neden kullanın @Betikleri.Render ("~//...
Neden Objective C dosyalarını kullanın...
Bir şekilde otomatik olarak Eclipse al...