मेरे पास 2 परियोजनाएं हैं, जिन्हें PlayFramework 2.4 का उपयोग करके विकसित किया गया है। यद्यपि वे अवधारणा में पूरी तरह से अलग हैं, फिर भी वे कुछ सामान्य विशेषताओं जैसे विकास प्रबंधन (लिक्विबेस), सीआरयूडी प्रशासनिक तंत्र, अधिसूचना (ईमेल, एसएमएस) तंत्र इत्यादि साझा करते हैं। इसलिए, प्रत्येक परियोजना को 2 मॉड्यूल में विभाजित करने का निर्णय लिया गया: सामान्य " कोर "मॉड्यूल, जिसमें सभी वर्णित तर्क, और" प्रोजेक्ट "मॉड्यूल हैं, जिनमें प्रोजेक्ट-विशिष्ट सेवाएं, टेम्पलेट्स, विचार हैं।प्ले फ्रेमवर्क परियोजना संरचना
प्ले फ्रेमवर्क में इसे प्राप्त करने के लिए अनुशंसित दृष्टिकोण "सबप्रोजेक्ट" अवधारणा है। लेकिन यह स्पष्ट रूप से एक विकल्प नहीं है, कम से कम दो कारणों से:
- परियोजनाओं अलग टीमों द्वारा विकसित कर रहे हैं, यही वजह है कि वे वे एक निर्देशिका संरचना
- ये 3 मॉड्यूल ("मूल" में स्थित नहीं किया जा सकता है और 2 "प्रोजेक्ट" मॉड्यूल) अलग VCS रिपोज़ (Mercurial)
मेरा वर्तमान समाधान कोर मॉड्यूल बनाने और इसे "प्रोजेक्ट" प्ले एप्लिकेशन में निर्भरता के रूप में प्रदान करने के लिए किया जाना चाहिए। एक यद्यपि इस दृष्टिकोण आंशिक रूप से काम करता है, प्रमुख कमियां देखते हैं:
- आप मॉड्यूल में मार्गों फ़ाइल जोड़ते हैं तो उन्हें परियोजना मार्गों
- आप कोर मॉड्यूल में नहीं कर सकते जगह विचारों फाइल, क्योंकि Fig.1 के कारण को पार कर जाएगी आप नहीं कर सकते का उपयोग सार्वजनिक संपत्ति
- n.1 और 2 नकारात्मक पहलू के कारण, कोर मॉड्यूल में आप नहीं कर सकते जगह नियंत्रकों, क्योंकि आप नहीं कर सकते
- स्थिर परिसंपत्तियों (सार्वजनिक निर्देशिका) प्रस्तुत करने के लिए एक दृश्य के निर्दिष्ट मॉड्यूल वितरण में शामिल नहीं है
मुझे दोनों परियोजनाओं में आम टेम्पलेट्स की प्रतिलिपि बनाने के लिए मजबूर होना पड़ता है, मैं व्यावहारिक रूप से सामान्य नियंत्रकों को नहीं लिख सकता जो बहुत परेशान हैं
किसी भी मदद की सराहना करें। शायद यह कोर मॉड्यूल के लिए कुछ प्रकार के अत्यधिक कस्टम निर्माण और प्रकाशित प्रक्रिया में हासिल किया जा सकता है?
आपको बहुत धन्यवाद, यह एक दिलचस्प विचार है, लेकिन क्या आपके पास एक अलग जार में संकलन और पैकिंग संसाधनों (जैसे विचार) को जोड़ने के कुछ विशिष्ट उदाहरण हैं? – YoZH
आपके विचार एक अलग परियोजना में होना चाहिए। आप वास्तव में कैसे विचारों का पुन: उपयोग किया जाएगा? पैक करने के तरीके के बारे में, इसे देखें: http://www.scala-sbt.org/0.12.4/docs/Detailed-Topics/Publishing.html। – Augusto
ठीक है, मेरे पास विचारों का एक सामान्य सेट + स्थिर संपत्तियां (उदा। सीएसएस, जेएस, आईएमजी) हैं जिनका उपयोग इन विचारों द्वारा किया जाता है। और मेरे पास कुछ कोर क्लास और नियंत्रक हैं जो इन विचारों का आह्वान करते हैं। तो, मेरा लक्ष्य उन्हें किसी भी तरह पैकेज करना है * मुझे उन सभी परियोजनाओं में कॉपी करने की आवश्यकता नहीं होगी जहां मैं उनका उपयोग करना चाहता हूं। असल में, ये विचार और संपत्ति एक व्यवस्थापक इंटरफेस बनाती है जो सभी परियोजनाओं के लिए आम है। – YoZH