क्या आप जीयूआई प्रोग्रामिंग के लिए कोई पैटर्न जानते हैं? (जीयूआई डिजाइन करने पर पैटर्न नहीं)

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

मान लें कि मैं एक नियंत्रण बनाना चाहता हूं जो कुछ ऑब्जेक्ट प्रदर्शित करता है जो ओवरलैप हो सकता है। अब अगर मैं किसी ऑब्जेक्ट पर क्लिक करता हूं, तो मुझे यह पता लगाना होगा कि क्या करना है (बस ऑब्जेक्ट को ढूंढना जो मैं कई तरीकों से कर सकता हूं, जैसे क्वाड-पेड़ और जेड-ऑर्डर, समस्या नहीं है)। और मैं एक संशोधक कुंजी भी दबा सकता हूं, या कुछ ऑब्जेक्ट शुरुआत से सक्रिय है, चयन कर रहा है या जो कुछ भी जटिल है। क्या मेरे पास स्क्रीन ऑब्जेक्ट का प्रतिनिधित्व करने वाला ऑब्जेक्ट उदाहरण होना चाहिए, क्लिक किए जाने पर उपयोगकर्ता-क्रिया को संभालना चाहिए, या मास्टर क्लास। आदि .. इस तरह की समस्याओं के लिए किस प्रकार के पैटर्न या समाधान हैं?

0
ro fr bn

6 उत्तर

मुझे पता है कि आपने एमवीसी के रूप में वैश्विक नहीं कहा है, लेकिन एमवीसी पर कुछ बदलाव हैं - विशेष रूप से एचएमवीसी और पीएसी - जो मुझे लगता है कि आपके द्वारा उठाए गए प्रश्नों का उत्तर दे सकते हैं।

इसके अलावा, मौजूदा पैटर्न के "आत्मा में" नया कोड लिखने का प्रयास करें, भले ही आप उन्हें सीधे लागू न करें।

0
जोड़ा

मुझे नहीं लगता कि डिज़ाइन पैटर्न का वह लाभ किसी समस्या को फिट करने के लिए डिज़ाइन पैटर्न खोजने की कोशिश करने से आता है। हालांकि आप कुछ हद तक अपने डिज़ाइन को साफ करने में मदद के लिए कुछ हेरिस्टिक का उपयोग कर सकते हैं, जैसे कि यूआई को आपके सिस्टम में शेष ऑब्जेक्ट्स से जितना संभव हो सके डीकॉप्लेड किया जा सके।

एक ऐसा पैटर्न है जो इस मामले में मदद कर सकता है, पर्यवेक्षक पैटर्न

0
जोड़ा

मुझे लगता है कि आप ईमानदार होने के लिए अपने मानक डिजाइन पैटर्न पर बेहतर प्रदर्शन कर रहे हैं और उन्हें अपने यूआई के विकास में सामना करने वाली व्यक्तिगत समस्याओं के लिए आवेदन कर रहे हैं।

हालांकि सामान्य यूआई "थीम" (जैसे संशोधक कुंजी से निपटने) हैं, वास्तविक कार्यान्वयन व्यापक रूप से भिन्न हो सकता है।

I have O'Reilly's Head First Design Patterns and The Poster, which I have found invaluable!

निर्बाध प्लग: ये लिंक मेरे सहयोगी आईडी का उपयोग कर रहे हैं।

0
जोड़ा
एचएफडीपी अब मेरी अमेज़ॅन की इच्छा सूची पर है ... जब मैं जॉन स्कीट की "व्हाट आई मास्टर टू सी #" को खत्म करता हूं;)
जोड़ा लेखक IAbstract, स्रोत
^^ आपकी सभी सामग्री हमारे हैं
जोड़ा लेखक learnvst, स्रोत
हेड फर्स्ट डिज़ाइन पैटर्न एक महान पुस्तक है, हालांकि मैंने इसके बारे में हंसते हुए - fishbowl.pastiche .org/2005/08/12/& hellip;
जोड़ा लेखक David, स्रोत
अपने बेकार प्लग के बारे में: नहीं, वे नहीं हैं :) StackOverflow ने आपके रेफ़रल आईडी को उनके साथ बदल दिया है।
जोड़ा लेखक Marek, स्रोत
मेरे पास "हेड फर्स्ट डिज़ाइन पैटर्न" भी है। मुझे एक मजेदार तरीके से बुनियादी पैटर्न सीखना वाकई अच्छा लगा।
जोड़ा लेखक FrenchData, स्रोत

आप एक पेशेवर अनुप्रयोग प्रोग्रामिंग देख रहे हैं। मैंने सफलता के बिना, लंबे समय तक युक्तियों और चालों की खोज की। दुर्भाग्यवश आपको कुछ भी उपयोगी नहीं मिलेगा, यह एक जटिल विषय है और केवल कई वर्षों के अनुभव के साथ आप समझ सकते हैं कि कुशलता से आवेदन कैसे लिखना है। उदाहरण के लिए, लगभग हर कार्यक्रम एक फ़ाइल खोलता है, जानकारी निकालता है, इसे विभिन्न रूपों में दिखाता है, प्रसंस्करण, बचत, ... लेकिन कोई भी बताता है कि अच्छी रणनीति क्या है और इसी तरह। इसके अलावा, यदि आप एक बड़ा आवेदन लिख रहे हैं, तो आपको अपने संकलन समय को कम करने के लिए कुछ रणनीतियों को देखने की आवश्यकता है (अन्यथा आप प्रत्येक संकलन में घंटों का इंतजार करेंगे)। सी ++ में इम्प्लस मुहावरे उदाहरण के लिए आपकी मदद करते हैं। और फिर बहुत कुछ है। इस कारण से सॉफ्टवेयर डेवलपर्स का भुगतान किया जाता है और बहुत सारी नौकरियां हैं :-)

0
जोड़ा

शायद आप 'माउसट्रैप' जैसे कुछ ढूंढ रहे हैं जिसे मैंने कोडप्रोजेक्ट (यूआई प्लेटफॉर्म के लिए खोज) पर कुछ लेखों में देखा था?

मैंने यह श्रृंखला भी बहुत उपयोगी पाया http://codebetter.com/jeremymiller/2007/07/26/the-build-your-own-cab-series-table-of-contents/ जहां आप एम्बेडेड पर एक नज़र डाल सकते हैं नियंत्रक इत्यादि

Micha।

0
जोड़ा

के होरस्टमान द्वारा ऑब्जेक्ट ओरिएंटेड डिज़ाइन और पैटर्न में "पैटर्न और जीयूआई प्रोग्रामिंग" नामक एक अध्याय है। उस अध्याय में, होर्स्टमान निम्नलिखित पैटर्न पर छूता है:

  • पर्यवेक्षक लेआउट प्रबंधक और
  • रणनीति पैटर्न घटक,
  • कंटेनर, और समग्र पैटर्न
  • स्क्रॉल बार्स और सजावटी पैटर्न
0
जोड़ा