सबसे पहले, मैं सी # से जावा पर वापस आ रहा हूं, इसलिए क्षमा करें यदि मेरी शब्दावली या दर्शन काफी लाइन नहीं है।जावा बनाम पैकेज बनाम प्रोजेक्ट अलगाव
यहां पृष्ठभूमि है: हमारे पास वेब के लिए लिखे गए आंतरिक समर्थन टूल का बढ़ता संग्रह है। वे बैकएंड के लिए फ्रंटएंड और जावा के लिए HTML5/AJAX/अन्य buzzwords का उपयोग करते हैं। ये उपकरण हल्के इन-हाउस फ्रेमवर्क का उपयोग करते हैं ताकि वे सुरक्षा और अन्य कॉन्फ़िगरेशन के लिए एक व्यवस्थापकीय इंटरफ़ेस साझा कर सकें। प्रत्येक उपकरण को एक अलग लेखक द्वारा लिखा गया है और मैं उम्मीद करता हूं कि प्रवृत्ति जारी रहेगी, इसलिए मैं भविष्य के लेखकों के लिए तीसरे पक्ष के पुस्तकालयों पर "मानकीकृत" रहना आसान बनाना चाहता हूं जिन्हें हमने पहले से ही चीजों के लिए उपयोग करने का निर्णय लिया है डि, इकाई परीक्षण, ORM, आदि जैसे
हमारे पैकेज नामकरण वर्तमान में इस तरह दिखता है:
- com.ourcompany.tools.framework
- com.ourcompany.tools.apps.app1name
- com.ourcompany.tools.apps.app2name
... और इसी तरह।
तो मेरा प्रश्न यह है: क्या इन ऐप्स में से प्रत्येक (और ढांचे) को मेवेन सेटअप, ग्रहण इत्यादि के उद्देश्यों के लिए एक अलग परियोजना के रूप में माना जाना चाहिए?
हमारे पास समय के साथ बहुत से ऐप्स दिखाई दे सकते हैं, इसलिए ऐसा लगता है कि अलगाव निर्भरता क्लीनर रखेगा और किसी को एक ही टूल पर आसानी से कूदने देगा। दूसरी तरफ, (1) हो सकता है कि कई परियोजनाओं पर एक पैकेज संरचना के "विभाजन" गहरे भाग एक कोड गंध है और (2) उन्हें संयुक्त रखते हुए टूल लेखकों को तीसरे पक्ष के पुस्तकालयों का उपयोग करने के इच्छुक हैं जो पहले से ही दूसरे स्थान पर हैं उपकरण।
एफडब्ल्यूआईडब्ल्यू, मेरा प्रारंभिक वृत्ति उन्हें अलग करना है।
आप क्या कहते हैं, जावा गुरु?
जब तक आपने इसका उल्लेख नहीं किया तब तक मैं निर्भरता संभालने के लिए अभिभावक पोम अवधारणा से अवगत नहीं था। मुझे ऐप्स में कुछ मानकीकरण को मजबूत करने के लिए वास्तव में यह विचार पसंद है। अन्य उत्तरों भी महान हैं, लेकिन पैरेंट पोम यह एक किनारे देता है। धन्यवाद! –