Her ne kadar Java belgeleri Zayıf referansların öncelikle eşleştirmeleri standartlaştırmak için olduğunu belirtse de, internette WeakHashMap'in kullanım ömrü boyunca nesne meta verilerini depolamak için mükemmel olduğunu belirten birçok , çok , çok insan bulacaksınız . Ancak, hiç kimse anlaşılabilir VE uygun bir örnek vermekten rahatsız olmaz .
Nesne eklemek için WeakHashMap'i kullanmak veya bana sadece lanet şeyi kullanma isteğine dayanan keyfi bir karar gibi meta veri seslerini saklamak. Başka bir deyişle - kötü bir tasarım . Anlıyorum, kalıtımın mevcut olmayabileceği durumlar var (son sınıflar, arayüzler), ama kompozisyon ne olacak? Kompozisyonun bir seçenek olmayacağı bir örnek düşünemiyorum. Ve kesinlikle daha iyi olanı, çünkü "dil tuhaflığı" yerine köklü bir ilkeye dayanıyor.
Yani, basit kompozisyon yerine zayıf referansların kullanılmasının daha iyi olacağı bir durum var mı? Değilse, internetteki herkes neden yanlış yapıyor gibi görünüyor?