2009-05-23 9 views
20

मैं ग्रूवी पर Grails को देखकर किया गया है और नीचे कि कहने वाला एक पंक्ति देखा:"सम्मेलन द्वारा कोडिंग" क्या है?

Grails ग्रूवी के प्रतिमान "सम्मेलन द्वारा कोडिंग" लाना है।

सम्मेलन द्वारा वास्तव में कोडिंग क्या है?

उत्तर

23

कन्वेंशन एक सॉफ्टवेयर डिजाइन प्रतिमान जो निर्णय कि डेवलपर्स बनाने की जरूरत है, प्राप्त कर रहा सादगी की संख्या में कमी करने का प्रयास है, लेकिन जरूरी लचीलापन नहीं खोने।

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

जब उपकरण द्वारा कार्यान्वित सम्मेलन आपके वांछित व्यवहार से मेल खाता है, तो आप कॉन्फ़िगरेशन फ़ाइलों को लिखने के बिना लाभ का आनंद लेते हैं। जब आपका वांछित व्यवहार लागू सम्मेलन से विचलित होता है, तो आप अपना वांछित व्यवहार कॉन्फ़िगर करते हैं।

"Convention over configuration" article on Wikipedia से।

+1

विकिपीडिया लेख आज के रूप में खड़ा है यह एक बहुत अच्छा उदाहरण नहीं है। यहां अन्य उत्तरों पर विचार किया जाना चाहिए। – GaTechThomas

3

सम्मेलनों के बहुत सारे यहाँ:

  1. कैसे HTML तत्वों ताकि वे HTTP अनुरोध से पैरामीटर के रूप में आसानी से सुलभ हो नाम के लिए;
  2. डेटाबेस में तालिका और कॉलम नामों पर ऑब्जेक्ट विशेषताओं को कैसे संबंधित करें;
  3. निर्देशिका/संकुल में कोई प्रोजेक्ट कैसे व्यवस्थित करें;

यह तब होता है जब आप किसी विशेष शैली में एक आम समस्या को हल करते हैं। आप समानताएं देखते हैं और उन्हें कुछ स्वचालन योजना में कोडित करते हैं।

2

इसका मतलब है कि यदि आप किसी भी कन्वेंशन-आधारित फ्रेमवर्क द्वारा परिभाषित किए गए कुछ कोडिंग सम्मेलनों से चिपके रहते हैं, तो आपको मुफ्त में बहुत सारी कार्यक्षमता मिलती है। दूसरे शब्दों में, यदि आप ढांचे की अपेक्षाओं के अनुसार अपना आवेदन तैयार करते हैं, तो बहुत से काम सहेजे जा सकते हैं।

सम्मेलन द्वारा कोडिंग के फायदे और नुकसान को देखना एक अच्छा विचार होगा। विन्यास (उर्फ सम्मेलन द्वारा कोडन) से अधिक

+1

आपका उत्तर बहुत सार है और इसका कोई उदाहरण नहीं है। यह बस बाकी है जो दूसरों ने कहा है। –

13

Grails के संदर्भ में, "सम्मेलन द्वारा कोडिंग" का अर्थ है कि बहुत से (थकाऊ और दोहराव) स्पष्ट कोड और/या कॉन्फ़िगरेशन को सरल नामकरण और निर्देशिका संरचना सम्मेलनों द्वारा प्रतिस्थापित किया जाता है। उदाहरण के लिए:

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

कोडिंग विन्यास द्वारा: विचार आप सामान के लिए कुछ रखने या नामकरण सम्मेलनों है तो आप स्पष्ट रूप से कार्यक्रम बताने के लिए जहां सामान है या यह क्या कहा जाता है की जरूरत नहीं है।
उदाहरण के लिए, एएसपी.नेट एमवीसी में एक सम्मेलन है जहां विचार संग्रहीत किए जाते हैं और उन्हें क्या कहा जाता है। इसका अर्थ यह है कि जब आपका कोड सर्वर को देखने के लिए निर्देश देता है, तो रनटाइम कुछ फ़ोल्डरों में एक निश्चित नामकरण संरचना के साथ एक दृश्य की तलाश करेगा। अधिक स्पष्टता के लिए this pdf में पृष्ठ 20 देखें।

एक और उदाहरण विधियों के लिए सम्मेलन का नामकरण करेगा। उदाहरण के लिए, किसी ईवेंट-संचालित भाषा में आपके पास स्पष्ट रूप से घोषित करने का विकल्प हो सकता है कि कौन सी घटनाएं हैंडल करता है या आप नामकरण सम्मेलन पर भरोसा कर सकते हैं - जैसे ..._ OnOpen या ... OnClick और फिर रनटाइम पर भरोसा करने के लिए भरोसा करें किसी दिए गए ईवेंट के लिए कॉल करने का सही तरीका।

4

Convention over Configuration देखें। डिफ़ॉल्ट रूप से सबसे सामान्य कॉन्फ़िगरेशन विकल्प रखने के लिए टूल या ढांचे को डिजाइन करने की अवधारणा है, इसलिए उपयोगकर्ताओं के विशाल बहुमत के लिए कोई कॉन्फ़िगरेशन आवश्यक नहीं है।

+0

विकिपीडिया लेख आज के रूप में खड़ा है यह एक बहुत अच्छा उदाहरण नहीं है। यहां अन्य उत्तरों पर विचार किया जाना चाहिए। – GaTechThomas

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