मैंने धाराप्रवाह NHibernate विकि में निम्नलिखित वाक्य पढ़ा :
...; हालांकि, अधिकांश ग्रीनफील्ड अनुप्रयोगों (और काफी कुछ ब्राउनफील्ड वाले भी) के लिए ऑटो मैपिंग सक्षम से अधिक होगी।
ग्रीनफील्ड और ब्राउनफील्ड अनुप्रयोग क्या हैं?
मैंने धाराप्रवाह NHibernate विकि में निम्नलिखित वाक्य पढ़ा :
...; हालांकि, अधिकांश ग्रीनफील्ड अनुप्रयोगों (और काफी कुछ ब्राउनफील्ड वाले भी) के लिए ऑटो मैपिंग सक्षम से अधिक होगी।
ग्रीनफील्ड और ब्राउनफील्ड अनुप्रयोग क्या हैं?
जवाबों:
सॉफ्टवेयर इंजीनियरिंग जैसे अन्य विषयों में, एक ग्रीनफील्ड भी एक परियोजना है जिसमें पूर्व कार्य द्वारा लगाए गए बाधाओं का अभाव है। सादृश्य ग्रीनफील्ड भूमि पर निर्माण का है जहां किसी मौजूदा ढांचे को फिर से तैयार करने या ध्वस्त करने की आवश्यकता नहीं है।
( http://en.wikipedia.org/wiki/Greenfield_project से )
ब्राउनफील्ड विकास एक ऐसा शब्द है जिसका उपयोग आईटी उद्योग में मौजूदा (विरासत) सॉफ्टवेयर एप्लिकेशन / सिस्टम की तत्काल उपस्थिति में नए सॉफ्टवेयर सिस्टम के विकास और तैनाती के लिए समस्या वाले स्थानों का वर्णन करने के लिए किया जाता है। इसका तात्पर्य यह है कि किसी भी नए सॉफ्टवेयर आर्किटेक्चर को पहले से ही सीटू में लाइव सॉफ्टवेयर के साथ और सह-अस्तित्व को ध्यान में रखना चाहिए।
( http://en.wikipedia.org/wiki/Brownfield_(software_development से )
मुझे लगता है कि यह शहरी नियोजन की शर्तों "ग्रीनफील्ड भूमि" और "ब्राउनफील्ड भूमि" से संबंधित हो सकता है । ग्रीनफील्ड भूमि अविकसित भूमि है - कृषि, भूनिर्माण, या प्राकृतिक। ब्राउनफील्ड भूमि विकसित भूमि है।
एक ब्राउनफ़ील्ड अनुप्रयोग एक मौजूदा अनुप्रयोग है, जबकि एक ग्रीनफ़ील्ड अनुप्रयोग वह है जो अभी तक नहीं बना है या विकास के बहुत प्रारंभिक चरण में है।
ग्रीनफील्ड ऐप्स: नया विकास, कोई पूर्व कार्य नहीं किया गया है जो आपके समाधान में बाधा उत्पन्न करता है। मुझे लगता है कि यह शब्द संयुक्त राष्ट्र के "अनप्लग्ड, ग्रीन" क्षेत्र से आता है।
ब्राउनफील्ड: मौजूदा एप्लिकेशन, विचार करने के लिए बहुत सारे मौजूदा सामान आदि।
मुझे लगता है कि यह निर्माण के लिए एक सादृश्य है
जेम्स ग्रेगरी (धाराप्रवाह NHibernate के पीछे का आदमी) के बारे में मुझे जो पता है, उसके आधार पर, मुझे लगता है कि ब्राउनफील्ड के लिए विकिपीडिया प्रविष्टि सैद्धांतिक पक्ष पर थोड़ी है। में ब्राउन अनुप्रयोग विकास , हम इसे के रूप में परिभाषित:
एक परियोजना, या कोडबेस, जो पहले बनाई गई थी और खराब प्रथाओं, संरचना और डिजाइन द्वारा दूषित हो सकती है, लेकिन व्यापक और निर्देशित रिफैक्टिंग के माध्यम से पुनर्जीवित होने की क्षमता है
लघु संस्करण: एक मौजूदा परियोजना जिसे काम की जरूरत है लेकिन अभी भी सक्रिय रूप से विकसित की गई है (अधिकांश विरासत प्रणालियों के विपरीत)।
कंपनी के 'ग्रीनफ़ील्ड' या 'ब्राउनफ़ील्ड' या रिफैक्टर विरासत कोड के निर्णय के आसपास बहुत बहस है।
निर्णय को कई कारकों पर विचार करने की आवश्यकता है - ग्रीनफील्ड एप्लिकेशन विकसित करने के लिए कम से कम उपलब्ध धन नहीं होना। कई मामलों में विरासत ऐप कंपनी की वर्तमान कैश गाय है और उस विरासत कोड के किसी भी ग्रीनफील्ड प्रतिस्थापन को एक लाल डॉलर नहीं बनाया जाएगा जब तक कि यह पूरी तरह से विकसित न हो और पहले भुगतान करने वाले ग्राहक के हाथों में हो।
हालांकि अधिकांश सॉफ्टवेयर इंजीनियरों के लिए प्राथमिकता START NEW GREENFIELD परियोजना है, क्योंकि वे आमतौर पर OPC (अन्य लोगों का कोड) से नफरत करते हैं, यह हमेशा कंपनी के दीर्घकालिक वित्तीय में नहीं हो सकता है।
मैंने एक लेख लिखा था जिसमें ग्रीनफील्ड परियोजनाओं से जुड़े जोखिमों का विश्लेषण किया गया था, यह एक बहुत ही वास्तविक अनुभव पर आधारित था, जिस कंपनी में मैंने 20+ साल पहले काम किया था (अब मेरी उम्र दिखा रहा है;)। आप इसे यहां पढ़ सकते हैं:
http://stepaheadsoftware.blogspot.com.au/2012/09/greenfield-or-refactor-legacy-code-base.html