मेरे अनुभव में, विकास टीम और आधारभूत संरचना टीम के बीच घनिष्ठ संचार को अक्सर जारी करके बढ़ावा दिया जा सकता है। जितना अधिक आप रिलीज करते हैं, उतना ही आप वास्तव में जानते हैं कि आपके वातावरण के बीच भिन्नता क्या है। यह आपको अनावश्यक कॉन्फ़िगरेशन को हटाने की अनुमति देता है।
कॉन्वे के कानून के लिए एक अनुशासन यहां लागू होता है - आपकी कॉन्फ़िगरेशन फ़ाइलें आपके ऐप को नियोजित किए गए परिवेशों की विविधता के समान होती हैं (नियोजित या वास्तविक)।
जब मेरे पास आंतरिक अनुप्रयोगों को तैनात करने वाली एक टीम है, तो मैं सभी पर्यावरण संबंधी चिंताओं (कनेक्शन पूल, आदि) के लिए कोड में कॉन्फ़िगरेशन की दिशा में ड्राइव करता हूं, और सभी पर्यावरण कॉन्फ़िगरेशन (उपयोगकर्ता नाम, कनेक्शन स्ट्रिंग्स, आईपी पते) के लिए फ़ाइलों में कॉन्फ़िगर करता हूं। यदि विभिन्न वातावरणों में अलग-अलग वास्तुकला संबंधी चिंताएं हैं, तो मैं उन्हें एक वर्ग में समाहित कर दूंगा, और कॉन्फ़िगरेशन फ़ाइलों का वह वर्गनाम हिस्सा बनाउंगा - उदा।
container.config = FastInMemoryConfigurationForTesting container.config = ProductionSizedConfiguration
इन कुछ सामान्य विन्यास का उपयोग करेगा, लेकिन को पार कर जाएगी/वास्तुकला कि जगह की जरूरत के उन हिस्सों की जगह में से हर एक।
हालांकि यह हमेशा उचित नहीं है। ऐसी कई चीजें हैं जो आपकी पसंद को प्रभावित करती हैं:
1) प्रत्येक उत्पादन वातावरण में सफलतापूर्वक तैनात होने से पहले एक नई बूंद जारी करने में कितना समय लगता है और आपको उस पर्यावरण (चक्र समय) 2 पर प्रतिक्रिया प्राप्त होती है) भिन्नता तैनात वातावरण में 3) उत्पादन वातावरण से प्राप्त प्रतिक्रिया की शुद्धता।
तो, जब आपके पास एक ग्राहक है जो आपके ऐप को अपनी देव टीमों को तैनाती के लिए वितरित करता है, तो आपको अपने ऐप को और अधिक कॉन्फ़िगर करने योग्य बनाना होगा, अगर आप इसे स्वयं जीते हैं। आप अभी भी कोड में कॉन्फ़िगरेशन पर भरोसा कर सकते हैं, लेकिन इसके लिए लक्ष्य दर्शकों को आपके कोड को समझने की आवश्यकता है। यदि आप एक सामान्य कॉन्फ़िगरेशन दृष्टिकोण (उदा। वसंत) का उपयोग करते हैं, तो आप अंतिम उपयोगकर्ताओं को उनके उत्पादन में मुद्दों को अनुकूलित करने और कामकाज के लिए आसान बनाते हैं।
लेकिन एक रूब्रिक है: कॉन्फ़िगरेशन योग्यता संचार के लिए एक विकल्प है।
स्रोत
2009-09-01 05:01:09
"कॉन्फ़िगरेशन" से आपका क्या मतलब है? –
मैंने पाया कि आप क्या खो रहे हैं: buzzword अनुपालन। ;-) –
वसंत में, कॉन्फ़िगरेशन आमतौर पर एक्सएमएल फ़ाइल अनुप्रयोग Context.xml –