दाऊद Gustafsson
david@techonomics.se
Techonomics.se पर एक छोटा सा विज्ञापन
मैं Matlab में एक कंप्यूटर प्रोग्राम के साथ काम किया है. इसके पीछे विचार यह है कि यह उपयोगकर्ता के अनुकूल और कुशल सुविधाओं के कुछ प्रकार के लिए सामान्य गणना करना होना चाहिए. इस कार्यक्रम में मैं विगेट्स कि एक बहुत कुछ किया है uipanel uitree, और uicontrol के.
Matlab जीयूआई के लिए ट्यूटोरियल के कई लेखकों में निर्मित Matlab समारोह का उपयोग करने की सलाह देते हैं (या शायद मैं इसे ()? उपकरण बॉक्स को बुलाना चाहिए) गाइड कहा जाता है. प्रकार:
गाइड >>
कमांड खिड़की में है और यह एक विंडो जहाँ आप पाते हैं और एक आंकड़ा के घटकों को कॉन्फ़िगर कर सकते हैं लाता है. इस एकल गति अनुप्रयोगों के लिए फायदे हैं. हालांकि, बड़ी समस्या अगर आप वैध सॉफ्टवेयर लिखने के लिए चाहते हैं. यह है क्योंकि यह आपके ग्राफिक वस्तुओं का ट्रैक रखने के लिए मुश्किल है. वे निर्यात के आंकड़ों में समाप्त आंकड़ा में शामिल कर रहे हैं
अपने घटक अपने आप को रखें
मैं गाइड का उपयोग कर के बिना अपने प्रोग्राम लिखा है. यह आसान है बनाने के लिए और घटकों को तैनात. जैसा कि आप नीचे देख सकते हैं, एक छोटे से आदेश कोडिंग के एक बहुत आवश्यकता है. तरह के खेल के लिए कैसे मांसल कोड की कल्पना पोकर और अन्य अनुप्रयोगों जहां वहाँ की गतिविधियों की एक विविधता है. वैसे भी, वापस करने के लिए गाइड का उपयोग कर के बिना प्रोग्राम लिखने के लिए. यह खिड़की स्थापना आंकड़ा और विंडो की स्थिति में बनाया जा संभालती द्वारा किया जाता है. बेशक, रंग या कॉलबैक के रूप में अन्य मानकों गाइड के अंदर की तरह बस कॉन्फ़िगर. मैं Matlab वस्तुओं की तरह अपने कार्यक्रमों में लिखा है और निर्माता की एक वितरण समारोह बुला द्वारा घटकों आउटसोर्स रणनीति का प्रयोग किया, अंतरिम रूप से init GUI के नाम. मैं अपने उद्देश्य एक संरचना है कि किसी भी levers के घटकों को पकड़ वर्ग में आंतरिक बचाने. यह संरचना मैं आरंभ जब मैं बाहर घटकों रखना.
classdef aClassName <संभाल गुण handleToGui; अंत तरीके समारोह obj = aClassName (varargin) ... (obj.initGui); ... अंत ... चित्रा समारोह = initGui (ऑब्जेक्ट) है = Obj.handleToGui.fig आंकड़ा है (...); Obj.handleToGui.otherComponentName = ... ... अंत अंत % अंत classdef के
Matlab समारोह guihandles
Matlab एक guihandles बुलाया समारोह है. यह कई मायनों में काफी आसान है और मैं क्यों समझा दूँगी. कारण यह है कि आप अपने घटक सीधे एक संरचना में जब आप उन्हें बाहर रखा क्योंकि guihandles (माता पिता), सभी बच्चे (बच्चों), जो आंकड़ा में हैं संभालती है की एक संरचना प्रदान करता है जोड़ने के बारे में चिंता करने की ज़रूरत नहीं है. इस के लिए बुला में, आप handleToGui के आरंभ के बाद सभी घटकों के बाहर रखी कर सकते हैं. यह तो घटक दिया गया है टैग (टैग) नाम दिया क्षेत्र एम्स के साथ एक संरचना हो जाता है.
Matlab समारोह guihandles साथ कोई समस्या
हालांकि, वहाँ यह है कि मुझे लगता है कि Matlab का नहीं सोचा है के साथ एक जोखिम है. वैकल्पिक रूप से, यह इतना है कि मैं और अन्य सभी भी इस्तेमाल किया है लापरवाही. तथ्य यह है कि GUI के हैंडल आकृति में सभी विगेट्स के लिए संभालती है प्रदान करते हैं. यदि आप अपने आवेदन के विभिन्न भागों के लिए अलग अलग वर्गों, इस तरह के रूप में है एक अलग वर्ग है कि कार्यक्रम और एक अन्य वर्ग है कि एक और जगह वे एक दूसरे को नष्ट करने अगर दोनों guihandles का उपयोग कर रहे हैं में एक समान कार्य करता है के एक भाग में plottyta की एक विशेष प्रकार संभालती है. मुख्य चरित्र (अन्य उप घटक है कि यह में हैं सहित) के लिए एक subcomponent में guihandles संभालती अनुमति देता है. अगर दूसरा subcomponent किसी भी घटक के एक ही टैग का नाम है, जब वे घटक को प्रारंभ क्या घटक मानना है कि उलझन में हो जाएगा.
Matlab समारोह guihandles उपयोग नहीं
मेरे लिए वस्तु उन्मुख प्रोग्रामिंग अच्छी संरचना बनाने के लिए प्रोग्रामिंग पद्धति है. यह प्रत्येक वस्तु (वर्ग) अपने कार्यों को पूरा करने के लिए आंतरिक और केवल विशिष्ट इंटरफेस के माध्यम से पर्यावरण के साथ संवाद करने की अनुमति देकर है. वैश्विक चर guihandles एक संभावित घातक जोखिम प्रदान करता है. दुनिया की अवधारणा दूसरे शब्दों में, कम युग्मन, उच्च सामंजस्य और अच्छी तरह से परिभाषित मॉड्यूल के लिए करना चाहता है.






