2011-02-17 16 views
5

मैं अक्सर ग्रहण में कई परियोजनाओं को बनाने से सावधान हूं। के एक परिदृश्य लेते हैं:ग्रहण में कई परियोजनाएं कब बनाएं?

  • एक मुख्य J2EE परियोजना है, जो सभी व्यापार तर्क है नहीं है, जीयूआई प्रस्तुत करना आदि
  • तो फिर वहाँ एक और समर्थन परियोजना, जो मूल रूप से केवल हाइबरनेट POJO है और है संबंधित विन्यास हाइबरनेट सामान

इसका मतलब है कि प्रत्येक बार एक बदलाव होने पर हाइबरनेट परियोजना जार को मुख्य परियोजना में परीक्षण करने की आवश्यकता होगी।

नुकसान क्या हैं?

  • वर्ग में परिवर्तन की सबसे छोटा है, तो आप
  • आप नहीं सीधे ही वर्ग फ़ाइलें स्थानांतरित कर सकते हैं, तो आप फिर से
  • पूरा जार बनाने की कोई आवश्यकता को फिर से जार का निर्माण और सर्वर से स्थानांतरित करने की आवश्यकता
  • दूरस्थ डीबग मोड में, संपादन गर्म जार हस्तांतरण और सभी समय

क्या लाभ हैं पुनः आरंभ सर्वर से हाइबरनेट परियोजना, बड़ा दर्द से वर्ग फ़ाइलों की जगह नहीं होगी?

  • अगर मैं 2 परियोजना में चिंता का विषय है कल मेरी J2EE परियोजना विभाजित करने के लिए अलग करने के लिए किया था, मैं सीधे डीबी हिस्सा कॉपी कर सकते हैं, यानी जार हाइबरनेट और विभाजन परियोजनाओं

तो अब मेरे सवाल का उपयोग शुरू:

  • क्या कोई नया पैकेज बनाने के बजाय एक नई परियोजना बनाने के लिए कोई गाइड लाइन है?
  • उपर्युक्त मामलों में, क्या 3 परियोजनाओं को हल करने और एक लाभ रखने के लिए दोनों परियोजनाओं में विलय करना एक अच्छा विचार होगा?
  • उद्योग मानक क्या है? सर्वश्रेष्ठ प्रणालियां?

उत्तर

4

जितना अधिक आप अपनी परियोजनाओं को बेहतर कर सकते हैं उतना ही बेहतर।

जैसे ही आप एक स्पष्ट निर्भरता अलगाव स्थापित कर सकते हैं, इसे अपने स्वयं के प्रोजेक्ट में ले जाएं। जैसे-जैसे यह बढ़ता है, यह आपको अन्य परियोजनाओं में कोड को फिर से उपयोग करने में सक्षम बनाता है।

+0

क्या आपको नहीं लगता कि जितना अधिक आप अलग करेंगे, डेवलपर के लिए जावा में एएसपी को फेंकने के लिए जितना अधिक परेशानी होगी? – pavanlimo

+1

सबसे निश्चित रूप से नहीं, क्योंकि डेवलपर्स को उन्हें चारों ओर फेंकना नहीं चाहिए। उन्हें एक निर्माण और तैनाती प्रणाली में एकीकृत किया जाना चाहिए (हडसन या क्रूज़ कंट्रोल, या एंथिलप्रो या बिल्ड फोर्ज जैसे अन्य लोगों के लिए अच्छा मुफ्त है) और अन्य। इस बिंदु पर, जार उपकरण द्वारा प्रबंधित किए जाते हैं, और डेवलपर्स केवल खुद को चिंता करते हैं कि कोड को कैसे काम करने की आवश्यकता है। – corsiKa

+2

समस्या हर बार एक जार बदल जाती है, सर्वर को पुनरारंभ करने की आवश्यकता होती है, जो अनंत समय उबाऊ और समय लेने वाली होती है। हॉट कोड प्रतिस्थापन जावा लोगों के लिए एक उद्धारक है, लेकिन यह जार के मामले में काम नहीं करता है। हडसन एट अल जैसे उपकरण। सामान्य रूप से परियोजना अच्छी है, लेकिन त्वरित देव परीक्षण के लिए उपयोग नहीं किया जा सकता है। जब आप 1 लाइन में परिवर्तन करते हैं तो यह अच्छा प्रतीत नहीं होता है और त्वरित देव परीक्षण के लिए अपने परिवर्तनों को बनाने और तैनात करने के लिए 3 मिनट का इंतजार करता है। – pavanlimo

3

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

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

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