मुझे एहसास है कि इस विषय को मृत्यु में शामिल किया गया है लेकिन मैं अभी भी संघर्ष कर रहा हूं और कुछ विशिष्ट सहायता के साथ कर सकता हूं।ढीले रूप से युग्मित पर्यवेक्षक पैटर्न
मेरा उद्देश्य किसी प्रकार के अवलोकन करने योग्य (एक कुत्ता कहने देता है) और किसी प्रकार का श्रोता (मालिक कहने देता है) के बीच एक सरल पर्यवेक्षक पैटर्न को लागू करना है।
आखिरकार मालिक एमवीसी प्रतिमान में 'व्यू' और डॉग ए 'मॉडल' होगा। मैं यहां चीजों को आजमाने और सरल बनाने के लिए कुत्ते और मालिक का उपयोग कर रहा हूं।
मैंने जावा के अंतर्निहित पर्यवेक्षक/पर्यवेक्षण वर्गों का उपयोग करने का प्रयास किया है, लेकिन यह महसूस किया है कि पर्यवेक्षकों को अद्यतन() विधि कितनी खराब है - इसे पीओजेओ प्राप्त होता है और मुझे अद्यतन() विधि में उस POJO को चेक/कास्ट करने की आवश्यकता होगी। मैं अपनी 'अपडेट()' विधि को प्राप्त करने के लिए बहुत कुछ पसंद करूंगा।
http://www.youtube.com/watch?v=qw0zZAte66A
यहाँ मैं कैसे अपने ही पर्यवेक्षक/मनाया कक्षाएं रोल दिखाया गया है:
तो, मैं इस एक जो एक उदाहरण के रूप कुत्ता/स्वामी का उपयोग करता है सहित कुछ ट्यूटोरियल, पीछा किया। छद्म कोड में, क्या मैं अब यह है:
Dog/Model {
List listeners;
public fireDogHungryEvent() {
foreach listener {
listener.onDogHungry(this);
}
}
public fireDogPeeEvent() {
foreach listener {
listener.onDogNeedsToPee(this);
}
}
public getHungerLevel() { return hungerLevel; }
public getBladderCapacity() { return bladderCapacity; }
}
Owner/View {
public onDogHungry(model) {
println(model.getHungerLevel());
}
public onDogNeedsToPee(model) {
println(model.getBladderCapacity());
}
}
तो अब के बजाय एक अद्यतन() विधि, मैं तरीकों कि विशिष्ट घटनाओं को संभालने की है। प्रतिभाशाली। मैं वर्तमान में मालिक/दृश्य वर्ग से खुश हूं। यह कुत्ते/मॉडल के तरीकों के बारे में जानता है और यह ठीक है (मुझे लगता है)।
मुझे जो पसंद नहीं है वह यह है कि कुत्ते/मॉडल के मालिक/दृश्य में विधियों के संदर्भ हैं। मैंने अनगिनत बार पढ़े हैं और पूरी तरह से सहमत हैं कि एक मॉडल को अपने विचारों के साथ कसकर नहीं जोड़ा जाना चाहिए जैसा कि यह ऊपर जैसा प्रतीत होता है। मैं कुत्ते/मॉडल में लगभग सभी चीजों को करने के लिए सभी 'आग' विधियों पर भी उत्सुक नहीं हूं; अपने सभी श्रोताओं पर लूपिंग और बस प्रत्येक श्रोता पर एक अलग विधि बुलाओ।
क्या इस संबंध को और अधिक खराब करना संभव है और कुत्ते/मॉडल कॉल विशिष्ट तरीकों से नहीं है? यदि हां, तो मालिक/दृश्य में कुत्ते/मॉडल डेटा प्राप्त करने और उचित तरीके से इसके साथ काम करने का सबसे अच्छा तरीका क्या है?
धन्यवाद
'कुत्ते' के किस तरीके के संदर्भ में संदर्भ हैं? मुझे कोई नहीं दिख रहा है। – SJuan76
एक इंटरफ़ेस का उपयोग करने का सबसे अच्छा तरीका है, जिसे वीडियो ट्यूटोरियल सुझाता है। श्रोता आपके कार्यान्वयन में एक इंटरफ़ेस है? –
SJuan76 - जिन संदर्भों के बारे में मैं बात कर रहा हूं वे श्रोताओं के लिए कॉल हैं। डॉग 'हॉग' में डॉगनहंग्री और श्रोता.ऑडोगनडेड्स टोपी। – whoshotdk