2011-05-18 12 views
7

जब भी एक सतत डेटा संरचना (पीडीएस) अद्यतन किया जाता है, तो मुझे अद्यतन करने के लिए एक जीयूआई नियंत्रण की आवश्यकता होती है।स्कैला में एक जीयूआई के लिए एक सतत डेटा संरचना "बाध्य" कैसे करें?

जब उपयोगकर्ता कुछ कार्यवाही करता है तो मुझे पीडीएस अपडेट करने की आवश्यकता होती है।

तो, उदाहरण के लिए, एक एसडब्ल्यूटी ट्री और एक साधारण पेड़ डेटा संरचना।

ऐसा करने के लिए बहुत सारे मैनुअल, बदसूरत तरीके हैं, लेकिन ऐसा लगता है कि यह एक बहुत ही सामान्य स्थिति है और वहां पर एक बहुत ही साफ दृष्टिकोण होगा।

मैं एफआरपी, लेंस, अभिनेता इत्यादि के बारे में पढ़ रहा हूं ... ऐसा लगता है कि इस तरह की स्थिति को संभालने के लिए एक बहुत ही सरल, साफ, प्रभावी दृष्टिकोण हो सकता है।

उत्तर

0

मैं पीडीएस के एक परिवर्तनीय संदर्भ के साथ एक घटक होने के बारे में क्या सोच सकता हूं। यह घटक प्रत्येक बार जब वे var के मान को बदलता है तो पीडीएस के नए संस्करण के साथ एक ईवेंट बढ़ा सकता है। आपका जीयूआई नियंत्रण उस घटना को सुन सकता है और नई जानकारी के साथ खुद को दोबारा हटाकर प्रतिक्रिया दे सकता है। अन्य विकल्प यह है कि घटना को सुनने वाला घटक आपके जीयूआई नियंत्रण का अभिभावक होता है, इसका एक नया उदाहरण बनाकर प्रतिक्रिया करता है, इसलिए नियंत्रण कन्स्ट्रक्टर में पीडीएस प्राप्त कर सकता है और केवल एक बार आकर्षित हो सकता है।

-1

आप इसका वर्णन कैसे करते हैं, ऐसा लगता है कि उपयोगकर्ता कॉल GUI के अंदर कुछ क्रियाएं लेता है, और उसके बाद GUI और डेटाबेस को अद्यतन किया जाना चाहिए। जब तक डेटाबेस अपडेट एक साइड इफेक्ट होता है तब तक आप पूरी तरह से सभी एसडब्ल्यूटी कार्यक्रमों पर भरोसा कर सकते हैं।

+1

लगातार डेटा संरचना डेटाबेस को संदर्भित नहीं करती है। – mentics

0

एक सतत डेटा संरचना कभी अपडेट नहीं होती है। आपके पास संदर्भ एक सतत डेटा संरचना के लिए है जो नए संस्करण में बदलते हैं, जब आप इसे बदलते हैं। यदि आप पीडीएस में वृद्धिशील परिवर्तन को ट्रैक करना चाहते हैं, तो यह अजीब होगा। बात यह है कि, आप पीडीएस के नए संस्करण को संग्रहीत कर रहे हैं, फिर भी आपके पास पुराना संस्करण है। शायद आप वृद्धिशील परिवर्तन का उत्पादन करने के लिए एक diff चला सकते हैं।

0

हां, एक अच्छा और साफ दृष्टिकोण है: ValueModels। इसे स्कैला में कार्यान्वित करना बहुत आसान होना चाहिए (मुझे त्वरित खोज में कुछ भी नहीं मिला है)। AFAIK Spring Rich Client में एम्बेडेड एक जावा कार्यान्वयन है।

संबंधित मुद्दे