12 Mart 2010, Cuma
en iyi uygulama pek çok argüman geçmek için yöntem?
Bazen , örneğin : çok fazla argüman alma yöntemleri yazmalıyız
public void doSomething(Object objA , Object objectB ,Date date1 ,Date date2 ,String str1 ,String str2 )
{
}
Ben bu tür bir sorun karşılaştığınızda , sık sık bir harita içine argümanlar saklanması.
Map<Object,Object> params = new HashMap<Object,Object>();
params.put("objA",ObjA) ;
......
public void doSomething(Map<Object,Object> params)
{
// extracting params
Object objA = (Object)params.get("objA");
......
}
Bu iyi bir uygulama değildir , parametreler saklanması haritası tamamen verimlilik kaybıdır. İyi bir şey, en az değişiklik ile diğer parametreler eklemek için , temiz imza , kolaydır . bu tür bir sorun için en iyi uygulama nedir ?
CEVAP
12 Mart 2010, Cuma
Effective Java, Bölüm 7 (Yöntemleri), Madde 40 (Tasarım yöntem imzaları dikkatle), Bloch yazar:
Çok uzun parametre listeleri kısaltmak için üç teknik vardır:
- birden fazla yöntem içine yöntemi, parametrelerin sadece bir alt kümesi gerektiren her mola
- yardımcı sınıflar parametreleri (genellikle üye sınıflar statik) grup yaratmak için
- yöntem çağırma itiraz inşaat Oluşturucu desen adapte.
Daha fazla bilgi için kitabı satın almak için teşvik ediyorum, gerçekten buna değer.
Bunu Paylaş:
Kötü uygulama alıcı benim yöntem depol...
Bu bir C döndürülen değeri işlemek içi...
Jilet: yöntem için aşırı '' ...
Nasıl varargs bir yöntem parametresi i...
Win odaklı kontrol bulmak için tercih ...