Sadece sınıflarımdan birinde küçük bir gözlemci deseni (dinleyiciler) tanıtmak istiyorum ve en iyi uygulama yaklaşımını kullanmak istiyorum.Java'da dinleyiciler için doğru (ve en iyi) koleksiyon türü
Benim dinleyici arayüzü:
public interface ExpansionListener {
void expanded();
void collapsed();
}
nedenle,
private List listener; // What kind of list should I take?
ve iki yöntem addListener(ExpansionListener l)
ve removeListener(ExpansionListener l)
dinleyici
Şimdi benim sorum: Ne tür bir listeyi kullanmalıyım? Ben CopyOnWriteArrayList gibi bir eşzamanlı liste kullanmayı düşündüm, ama ben de EventListenerList var olduğunu öğrendim. Java'da dinleyici listeleri için en iyi uygulama yaklaşımı nedir?
EventListenerList ben 'Listesini kullanırsınız iyi bir aday – Sanjeev
gibi görünüyor' bir başlangıç için, sadece dinleyici bu tür izin vermek isterseniz. O zaman muhtemelen 'CopyOnWriteArrayList' ile gidecektim çünkü dinleyicilere yapılan değişiklikler muhtemelen oldukça seyrek olmakla birlikte, yazımlar birden fazla ileti dizisiyle paralel olarak gerçekleşebilir (sadece mimarinizle ilgili varsayımlar). –
Thomas
A 'Set ', bir nesnenin aynı türde birden fazla dinleyiciye sahip olmasını engellemek için daha uygun olacaktır. – Titus