एक सॉफ़्टवेयर में, आप मॉड्यूल से घटक को कैसे अलग करेंगे?एक सॉफ्टवेयर प्रोजेक्ट में, आप मॉड्यूल से घटक को कैसे अलग करेंगे?
उत्तर
मैं कहूंगा कि उत्तर इस बात पर निर्भर करता है कि आप किससे पूछते हैं।
मैं अंतर को ग्रैन्युलरिटी और भूमिका के रूप में सोचता हूं। मेरी समझ के लिए एक सॉफ्टवेयर घटक एक स्व-निहित इकाई है जो एक अच्छी तरह से परिभाषित (और प्राथमिक रूप से स्थिर) इंटरफ़ेस है जो एक सिस्टम के शेष हिस्सों के साथ बातचीत करता है, और जिसका सिस्टम आर्किटेक्चर दृष्टिकोण से महत्वपूर्ण अर्थ है। एक उदाहरण डेटा पहुंच abstraction परत होगा।
मेरे लिए एक मॉड्यूल एक नियोक्ता स्रोत कोड बंडल होगा जो एक सामान्य उद्देश्य साझा करता है, लेकिन सिस्टम में कोई महत्वपूर्ण भूमिका नहीं करता है (जिसका अर्थ यह है कि इसे बदलने के लिए सिस्टम के समग्र आर्किटेक्चर में बदलाव की आवश्यकता नहीं होगी) । एक उदाहरण एक वेब सेवा में एक JSON serializer होगा।
मॉड्यूल सॉफ़्टवेयर को नई कार्यक्षमता देने की क्षमताओं हैं।
घटक तत्वों
वे एक ही बात कर रहे हैं एक घटक एक बस मॉड्यूल का दूसरा नाम है,। आम तौर पर घटक वह शब्द होता है जिसे आप सॉफ़्टवेयर इंजीनियरिंग पुस्तक में पा सकते हैं जबकि मॉड्यूल का अधिक व्यापक उपयोग होता है।
घटक आमतौर पर स्वयं निहित, प्लग करने योग्य आइटम के रूप में माना जाता है जो किसी प्रकार के सॉफ़्टवेयर इंटरफ़ेस विनिर्देश का पालन करते हैं। एक अच्छा उदाहरण जीयूआई आइटम है जैसे उन्नत टेक्स्टबॉक्स और ड्रॉपडाउन। असल में ऐसा कुछ भी जो एक पूर्ण कार्यक्रम नहीं है, लेकिन इसकी कार्यक्षमता को बढ़ाने के लिए इसे किसी अन्य प्रोग्राम में प्लग किया जा सकता है।
शब्द मॉड्यूल पिछले कुछ वर्षों में पक्षपात से बाहर हो गया है। मॉड्यूल एक अधिक सामान्य शब्द है, लेकिन कुछ भाषाओं में यह एक कीवर्ड है, यानी मॉडुला 2. वीबी.नेट में मॉड्यूल कीवर्ड है, लेकिन यह स्थिर सदस्यों के साथ एक साधारण वर्ग है, और मेरी समझ यह है कि अधिकांश वीबी प्रोग्रामर उपयोग करना पसंद करते हैं क्लास कीवर्ड
घटक: ब्लैक-बॉक्स मॉड्यूल।
लेकिन वास्तव में कोई महत्वपूर्ण अंतर नहीं है। यहाँ गहरे अर्थ की तलाश करने की कोशिश मत करो।
सामान्य शब्दों में,
- एक घटक तत्वों की एक अपेक्षाकृत पतले कणों का समूहीकरण है समाधान में किसी विशेष सेवा की सेवा है।
- एक मॉड्यूल courser अनाज है और सॉफ़्टवेयर द्वारा प्रदान की गई एक या अधिक संबंधित सेवाओं के समूह के रूप में कार्य करता है।
एक मॉड्यूल कई सेवाओं के लिए अपनी सेवाओं को प्रदान करने के लिए उपयोग करेगा, जबकि एक घटक कुछ हद तक कक्षाओं और अन्य घटकों से बनाया जा सकता है।
किसी भी मामले में इसका व्यक्तिपरक और आवेदन के पैमाने पर निर्भर करता है। एक छोटे से आवेदन के लिए एक कार्यक्रम (एक मॉड्यूल) और कई घटकों की संभावना है। मध्यम आकार के आवेदन में कई मॉड्यूल और कई घटक हो सकते हैं। एक बड़े आवेदन में आप उप-प्रणाली शब्द पेश करना चाहेंगे जो मॉड्यूल की तुलना में अधिक courser अनाज है!
दिलचस्प - मेरे अनुभव में परिभाषाएं बिल्कुल विपरीत हैं। उदाहरण के लिए, सॉफ्टवेयर विकास मानकों "मॉड्यूल परीक्षण" के साथ एक दूसरे के साथ "मॉड्यूल परीक्षण" का उपयोग करते हैं। – JeffP
घटक सॉफ़्टवेयर सिस्टम स्तर पर परिभाषित किए गए हैं (जैसे रनटाइम पर देखा/सोचा गया)। वे एक निष्पादन प्रणाली के तत्व हैं और एक साथ एक बड़ी प्रणाली लिखते हैं। इन घटकों/तत्व कनेक्टर (इंटरफेस) का उपयोग करके स्वयं के बीच बातचीत करते हैं। अपने आप में संवाद करने वाले काले बक्से की कल्पना करें, उनके कार्यान्वयन/स्रोत कोड पर कोई ध्यान नहीं दिया जाता है।
मॉड्यूल प्रोग्रामिंग भाषा स्तर पर परिभाषित किया गया है (कहें, 5 कक्षाओं के सेट में कुछ कार्यक्षमता प्रदान करने वाला मॉड्यूल शामिल है)। कोड के उस संग्रह द्वारा प्रदान की गई कार्यक्षमता के अनुसार उन्हें स्रोत कोड स्तर पर परिभाषित किया जाता है। (उदाहरण: डेटाबेस के साथ बातचीत के लिए जिम्मेदार आपके आवेदन में दृढ़ता वर्ग)।
ध्यान दें कि, मॉड्यूल भी एक प्रकार का घटक है (वर्गीकरण के साथ जा रहा है और घटक के साथ "is-a" एसोसिएशन साझा करता है)।
संदर्भ: लेन बास, सॉफ्टवेयर आर्क। अभ्यास में और Dr. Timothy Lethbridge lecture
- 1. आप शेफ के साथ एक अजगर मॉड्यूल कैसे स्थापित करेंगे?
- 2. घर सॉफ्टवेयर परियोजनाओं में आप एक सबवर्जन रिपोजिटरी कैसे व्यवस्थित करेंगे?
- 3. कैसे एक अलग मॉड्यूल
- 4. आप एकाधिक परियोजनाओं में कॉन्फ़िगरेशन को केंद्रीकृत कैसे करेंगे?
- 5. आप इस एप्लिकेशन को कैसे मॉडल करेंगे?
- 6. आप स्मृति आवंटक को कैसे बेकार करेंगे?
- 7. आप IENumerator इंटरफ़ेस को कैसे कार्यान्वित करेंगे?
- 8. IntelliJ - एक जावा प्रोजेक्ट/मॉड्यूल को एक मेवेन प्रोजेक्ट/मॉड्यूल में कनवर्ट करें
- 9. आप पूंछ को कुशलतापूर्वक कैसे कार्यान्वित करेंगे?
- 10. आप एक बहुत व्यापक "टेबल" को कैसे कार्यान्वित करेंगे?
- 11. हास्केल में आप फिर से कैसे लागू करेंगे?
- 12. आप एक एएसपी.NET एमवीसी वेब एप्लिकेशन में विज़िटर और एडमिन फ़ंक्शंस को कैसे प्रबंधित करेंगे?
- 13. एक अलग मॉड्यूल से ऑटोवायरिंग बीन्स
- 14. आप गिट प्रोजेक्ट की फ़ाइलों में वर्तमान प्रतिबद्ध आईडी कैसे शामिल करेंगे?
- 15. आप किस यूनिट टेस्ट से शुरू करेंगे?
- 16. svn प्रोजेक्ट को एक अलग फ़ोल्डर
- 17. आप ASP.Net MVC 2 में चेकबॉक्स को कैसे सत्यापित करेंगे?
- 18. आप किसी दस्तावेज़ को पूर्वावलोकन छवि में कैसे परिवर्तित करेंगे?
- 19. एक बहु-मॉड्यूल मेवेन प्रोजेक्ट
- 20. एक बहु-मॉड्यूल मेवेन बनाना स्वतंत्र रूप से अलग-अलग मॉड्यूल का निर्माण और रिलीज़ करना?
- 21. आप एक अच्छी खोज यूआई कैसे डिजाइन करेंगे?
- 22. आप अपने स्ट्रिंग प्रकार को कैसे कार्यान्वित करेंगे?
- 23. आप रूबी क्लास में मॉड्यूल को कैसे सूचीबद्ध करते हैं?
- 24. HTML को सादा पाठ में बदलने के लिए आप कौन सी सीपीएएन मॉड्यूल की सिफारिश करेंगे?
- 25. आप सॉफ्टवेयर में विश्वसनीयता का मूल्यांकन कैसे करते हैं?
- 26. आप आईपी पते की तुलना कैसे करेंगे?
- 27. आप एनएसएसटींग को घटक भागों में कैसे विभाजित करते हैं?
- 28. आप एक बुनियादी घटना-लूप कैसे कार्यान्वित करेंगे?
- 29. एक ही गिट प्रोजेक्ट में दो अलग-अलग फ़ोल्डरों को कैसे शामिल किया जाए?
- 30. आप कक्षा के सभी उदाहरणों से विधि कैसे कॉल करेंगे?
यह सही नहीं है। घटक और मॉड्यूल बिल्कुल वही चीज़ नहीं हैं। हालांकि, अक्सर गलत तरीके से इस्तेमाल किया जाता है। – iCrus