2011-11-02 12 views
11

मुझे लगता है कि स्विंग सर्वोत्तम प्रथाओं को सीखने के लिए जावा में कुछ प्रोजेक्ट विकसित किया गया है या नहीं। मेरा मतलब है कि एसवीएन या इसी तरह के माध्यम से इंटरनेट पर होस्ट की गई ओपन सोर्स प्रोजेक्ट। मैं इस विषय के बारे में स्टैकओवरफ्लो में कुछ प्रश्न पढ़ रहा हूं लेकिन मुझे कुछ परियोजनाएं दिखाई देगी। धन्यवाद।सर्वोत्तम प्रथाओं को सीखने के लिए एक अच्छी स्विंग परियोजना

उत्तर

8

जिस तरह से मैंने सीखा सबसे अच्छा प्रथाएं जेडीके और अभ्यास में स्विंग स्रोत कोड पढ़ रही थीं। सूर्य के प्रथाओं का पालन करें और आप सही रास्ते पर होंगे।

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

और सबसे महत्वपूर्ण बात, कोड। कुछ बड़े कार्यक्रम लिखें, और आप उन चीज़ों को देखना शुरू कर देंगे जो सही या इष्टतम नहीं लगते हैं। ढेर पर आओ और पता लगाएं कि आप क्या कर रहे हैं या बेहतर कर सकते हैं। कुछ और लिखें, और वही करें। SwingX की देखरेख सूर्य/पूर्व सूर्य लोग थे, और मैं हमेशा भविष्य के लिए अनौपचारिक इनक्यूबेटर के रूप में इसके बारे में सोचा है -

SwingX:

जिसके अनुसार, निम्नलिखित परियोजनाओं है (या शायद है) अच्छा कोड स्विंग विशेषताएं।

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

InfoNode (एक शक्तिशाली डॉकिंग ढांचा) - मैं अपने कोड का काफी कुछ चला गया हूं, और इसकी सुंदर ठोस है।

JFreeChart (एक शक्तिशाली चार्टिंग लाइब्रेरी) - सबसे बड़ा कोड नहीं, बल्कि औसत से काफी बेहतर है, विशेष रूप से यह एक पुरानी परियोजना को ध्यान में रखकर जो वास्तव में लोगों द्वारा इसका उपयोग करने के लिए हर चीज करने का इरादा नहीं था। उस ने कहा, यह बहुत एक्स्टेंसिबल है, और मुझे अपनी जरूरतों को पूरा करने में कोई समस्या नहीं हुई है (जो कि इसके मूल इरादे से कहीं ज्यादा है)।

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

JIDE Common Layer: कस्टम घटकों का एक विशाल संग्रह जो उनके वाणिज्यिक घटकों के आधार के रूप में कार्य करता है। मैं उनके कोड से नहीं गुजर चुका हूं, लेकिन उनके घटक सुंदर हैं, और चूंकि उनका प्राथमिक फोकस वाणिज्यिक स्विंग घटक है, एक बार फिर, मैं पैसे डालता हूं कि उनका कोड ठोस है।

3

मुझे IntelliJ IDEA Community Edition जैसे स्विंग में लिखे गए पेशेवर-गुणवत्ता वाले एप्लिकेशन को देखना बहुत दिलचस्प लगता है। अब जब यह खुलासा हुआ है, तो आप कोड देख सकते हैं और खुदाई शुरू कर सकते हैं। हालांकि सावधान रहें, कोई टिप्पणी नहीं है!