SORU
20 NİSAN 2010, Salı


Ne zaman yöntemleri özel yapılmalıdır?

Belirli bir yöntem özel yapılmış olup olmadığını ya da değil emin değilim zamanlar vardır. Örneğin, bir rapor oluşturmaktan sorumlu olan şu anda bir sınıf oluşturuyorum. Bu sınıf buildReport bir yöntemi vardır ve buildReport için gerekli verileri toplamak için birkaç yöntem.

// single public method
// uses a set of helper methods
public buildReport()

// helper methods
private avgSurveyTime()
private fetchVendors()
private fetchSendCounts()
private ...

Bu yardımcı yöntemler kamu yapmalıyım olup olmadığını tartışmayacağım. Gerçekten dışarıda şu anda arama planı tek yöntem buildReport(). Ancak, fetchVendors() vb ile satıcıların bir listesini almak için yararlı olabilir.

Bu iki ekole görüyorum: her zaman mümkün olduğunca az maruz kalabilir Bu durumda, benim sınıfların çoğu tek bir ortak yöntem olurdu () VEYA gösterebilirsiniz tüm sınıf kullanıcı için yararlı olabilir.

Başparmak iyi bir kural yöntemler kamuya açık olmalıdır, karar vermek için kullanın/özel var mı?

CEVAP
20 NİSAN 2010, Salı


Takip ediyorum tek kural olabildiğince az ortak olun.

Bunu bu şekilde bak. Her zaman bir ortak daha sonra yapabilirsiniz - herhangi bir varolan şifreyi kırmak olmaz. Kamu o özel bir şey yapmaya çalışıyorum mevcut bir sürü kod kırma olabilir.

Eğer birisi daha fazla işlevsellik sınıfından istiyorsa o zaman istek yapabilir ve gereken her şeyi açığa çıkarabilir. Muhtemelen yeni bir arayüz gerekir zaten neyse ne kurnazca farklı bir şey isteyecekler.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Damien Hayes

    Damien Hayes

    11 Mart 2008
  • MaximumPCMag

    MaximumPCMag

    23 Temmuz 2010
  • National Geographic

    National Geo

    7 Mayıs 2006