2013-05-03 16 views
8

मुझे पता है कि यह सवाल अस्पष्ट है, लेकिन मैं खुद को स्पष्ट करने की कोशिश करूंगा।क्या मुझे ढांचे का उपयोग करना चाहिए?

मैं एक स्विंग जीयूआई युक्त जावा प्रोजेक्ट शुरू कर रहा हूं। मैं एमवीसी पैटर्न का पालन करना चाहता हूं, और परियोजना के आर्किटेक्चर को व्यवस्थित करने के लिए ढांचे से कुछ मदद का उपयोग कर सकता हूं। मैं Griffon का उपयोग करने के बारे में सोच रहा था, हालांकि मुझे लगता है कि अन्य लोग चाल कर सकते हैं।

  • प्रोग्रामिंग दक्षता:

    इसलिए, यह के मामले में एक ढांचे का उपयोग करने के लिए एक अच्छा विचार है बेशक, इसमें सुधार किया जाएगा ... समय के सबसे। अधिक सटीक, क्या होगा यदि परियोजना एक छोटी है? या एक बड़ा? अगर मैं जावा और स्विंग से पहले से ही परिचित हूं तो क्या होगा? अगर मैं नहीं हूं तो क्या होगा? क्या होगा यदि परियोजना किसी ऐसे व्यक्ति द्वारा रखी जानी चाहिए जो मेरे द्वारा उपयोग किए गए ढांचे के बारे में कुछ भी नहीं जानता?

  • सीखने का मूल्य: क्या मैं जावा और स्विंग के बारे में अधिक जानने के बजाय, "ढांचे का उपयोग कैसे करना सीखूंगा"?

  • व्यावसायिक मूल्य: क्या कंपनियां ऐसे डेवलपर को पसंद करती हैं जो "पारंपरिक" दृष्टिकोण को बेहतर समझने वाले डेवलपर को "अधिक" ढांचे (भले ही वे उपयोग करने का इरादा रखते हों) को जानते हों?

मुझे थोड़ी सी जानकारी मिली, जो आश्चर्यजनक है, इस सवाल पर कितना बड़ा विचार है। यह मामूली प्रतीत हो सकता है, लेकिन मैं वास्तव में इसके बारे में सोच रहा हूँ।

उत्तर

3

मैं ग्रिफॉन को ढांचे के रूप में मूल्यांकन कर रहा था। मुझे लगता है कि यह परियोजना धीरे-धीरे मर रही है। आईएमएचओ ग्रोवी अब मुख्यधारा नहीं है (मुझे आश्चर्य है कि यह कभी मुख्यधारा था?)। अब सब लोग स्कैला की प्रशंसा करते हैं।

  • अधिकांश चौखटे उम्मीद करते हैं कि आप मानक विकास पथ का पालन करें:

    अब वापस अपने प्रश्न का

    । किसी भी बदलाव/अनुकूलन शायद समाधान बनाए रखने के लिए मुश्किल से पेश करेंगे (वे बाद में इसे आर्किटेक्चर कहते हैं)। एक ढांचा चुनें जो आपको 95% चीजें करने की अनुमति देता है जो आप करना चाहते हैं। और हाँ, एक मुख्यधारा के ढांचे का चयन करें।

  • ग्रिफ़ोन ग्रोवी पर आधारित है, इसलिए आपको पहले ग्रोवी मास्टर करना होगा। ठीक है, ग्रोवी एक जेवीएम भाषा है और यदि आप जावा के साथ ठीक हैं तो यह बहुत मददगार होगा, लेकिन फिर भी उन सभी डीएसएल को आपके सिर में बसने के लिए कुछ समय की आवश्यकता होगी।
  • यदि आप किसी भी मुख्यधारा के ढांचे को जानते हैं - यह एक मूल्यवान संपत्ति है। दुखद तथ्य यह है कि ढांचे में फीका/मरना पड़ता है और आपको लगातार नए buzz चीजों की तलाश करनी होती है। आप सीखने रोक (हालांकि महत्वपूर्ण सिद्धांतों बदला नहीं जा सकता और ढांचे के दायरे से स्थिर रहते हैं)
+0

इस व्यावहारिक उत्तर के लिए धन्यवाद। – Aeronth

+2

मुझे डर है कि स्कैला इन दिनों किसी और चीज़ की तुलना में अधिक प्रचारित है। वैसे भी, ग्रिफॉन भी स्कैला का समर्थन करता है (जल्द ही स्कैलाएफ़एक्स), इसलिए यह मुख्यधारा के रूप में है क्योंकि स्कैला हो सकता है (आपके स्वयं के हिसाब से)।प्लगइन डॉक्स से – aalmiray

+0

@ अलामिराय: यह (स्कैला) ग्रिफॉन-ऐप या src/main पर उपलब्ध किसी भी स्रोत से पहले संकलित किया जाएगा जिसका अर्थ है कि आप अपने स्कैला कोड से उन स्रोतों में से किसी एक का संदर्भ नहीं दे सकते हैं। और हाँ, मैं किसी को भी भावनाओं को चोट नहीं पहुँचना चाहता था;) मुझे खुद को Grails पर एक परियोजना मिली है। – WeMakeSoftware

2

पर्यावरण के लिए एमवीसी पैटर्न को कार्यान्वित करना आसान होना चाहिए यदि आप इसे समझते हैं। पहले इस पर एक नोट: http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller

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

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

उम्मीद है कि यह मदद करता है!

5

हम जानते हैं, ग्रिफ़्फ़ॉन ग्रूवी पर आधारित है और ग्रूवी, एक सुंदर जावा शैली है शायद आप के बहुत सारे से बचने जाएगा कभी नहीं कोड लाइन, लेकिन हमेशा हमें ज्ञान और अनुसूची जैसे कुछ पहलुओं पर विचार करने की आवश्यकता होती है।

  • ज्ञान: अपनी उत्पादकता आप क्या जानते हैं और कैसे तुम क्या जानते हैं, अगर आप जावा में confortble महसूस उपयोग करने के लिए, जावा का उपयोग करें, क्योंकि, लगता है अपने लक्ष्य MVC और के रूप में Juned उपयोग करने के लिए है कि से संबंधित है कहा, हम भी स्विंग के साथ ऐसा कर सकते हैं।
  • अनुसूची: यदि आपके पास अध्ययन करने का समय है और वास्तव में एक नया ढांचा सीखना चाहते हैं, तो यह समय है, लेकिन आपको अपने शेड्यूल का पालन करना होगा, यह न भूलें कि आपको उस समय इस परियोजना को खत्म करने की आवश्यकता है ।

तो, आप जो जानते हैं उसका उपयोग करने पर विचार करें, और अन्य परियोजनाओं में नई चीजों का अध्ययन करें।

अपनी फ्लैशलाइट के बिना अंधेरे में डाइविंग से बचें।

+0

+1 "अपने फ्लैशलाइट के बिना अंधेरे में डाइविंग से बचें" के लिए +1। – TheKojuEffect

5
बेशक

मैं पक्षपाती हूँ जब यह तथापि Griffon की बात आती है मैं संभव के रूप में उद्देश्य होना करने की कोशिश करेंगे:

  • ग्रिफ़्फ़ॉन JVM के लिए एक MVC ढांचे/मंच है। यह सच है कि पसंद की प्रोग्रामिंग भाषा ग्रोवी है, हालांकि कई अन्य लोगों का भी उपयोग किया जा सकता है, इस उदाहरण को गाइड http://griffon.codehaus.org/guide/latest/guide/tips.html#nonGroovyArtifacts से देखें जहां यह दिखाता है कि शुद्ध जावा एप्लिकेशन कैसे लिखा जा सकता है। अन्य विकल्प संभव हैं यदि आप एक विशिष्ट प्लगइन स्थापित करते हैं http://artifacts.griffon-framework.org/tags/plugin/polyglot
  • ग्रिफ़ॉन का दर्शन आपके विकल्पों को खोलने में से एक है। यह सच है कि कभी-कभी ढांचा आपको विशेष पथ का पालन करने के लिए प्रेरित करेगा, हालांकि इसमें बहुत सारे पैर कमरे उपलब्ध हैं, यानी, आप इसे अपनी धुन पर नृत्य करते हैं। उदाहरण के लिए, लेखन दृश्य आमतौर पर ग्रोवी स्विंगबिल्डर डीएसएल (स्विंग पर एक सूक्ष्म अमूर्त परत) के बाद किया जाता है, लेकिन आप जावा परत पर नीचे जा सकते हैं और यदि आप चाहें तो सादे जावा/स्विंग में लिख सकते हैं; या नेटबीन्स मैटिस, एबिल फ्रॉम डिज़ाइनर, या स्विंग का समर्थन करने वाले किसी भी अन्य विजुअल टूल को चुनें।
  • प्लगइन्स ग्रिफॉन की सफलता के लिए महत्वपूर्ण हैं। जैसा कि आप http://artifacts.griffon-framework.org/category/all/plugins पर देख सकते हैं वर्तमान में 211 प्लगइन हैं, और अधिक आ रहे हैं।

लेकिन अंत में केवल एक राय है जो मायने रखती है: तुम्हारा। मैं आपको ग्रिफॉन के साथ कुछ घंटों बिताने की सलाह दूंगा, अगर आपको तब तक मूल्य जोड़ा नहीं जाता है ... मुझे डर है कि इसे बेहतर बनाने के लिए हमें कड़ी मेहनत करनी होगी।

चीयर्स

+2

धन्यवाद! हालांकि, मेरा सवाल वास्तव में सामान्य रूप से ढांचे के उद्देश्य से था - मुझे लगता है कि अगर मैं एक का उपयोग करने का फैसला करता हूं तो ग्रिफॉन एक अच्छा विकल्प होगा। मैं जीयूआई लिखने में एक नौसिखिया हूं, और मुझे स्क्रैच से एक स्विंग ऐप बनाना बेहद दर्दनाक लगता है, क्योंकि मैं केवल मानकों का पालन कर रहा हूं। फिर भी मैं सादा जावा लिखना चाहता हूं क्योंकि मैं इसे सीखना चाहता हूं। तो मैंने पाया कि एक ढांचा कम से कम प्रारंभिक वास्तुकला, और संभवतः अधिक प्रदान करेगा। इसीलिए। – Aeronth

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