डिस्क्रिप्टर 'इंजन' बहुत कुछ फेंका जाता है: ग्राफिक्स इंजन, RegEx इंजन, AI इंजन, आदि लेकिन वास्तव में सॉफ्टवेयर का एक टुकड़ा एक इंजन क्या बनाता है? डिजाइन, इनपुट / आउटपुट, उद्देश्य, आकार?
डिस्क्रिप्टर 'इंजन' बहुत कुछ फेंका जाता है: ग्राफिक्स इंजन, RegEx इंजन, AI इंजन, आदि लेकिन वास्तव में सॉफ्टवेयर का एक टुकड़ा एक इंजन क्या बनाता है? डिजाइन, इनपुट / आउटपुट, उद्देश्य, आकार?
जवाबों:
एक इंजन कुछ ऐसा होगा जो "हुड के नीचे" है, इसलिए बोलने के लिए। यह अंतिम उपयोगकर्ता के लिए दृश्यमान नहीं है, या कम से कम बहुत कम है। उदाहरण के लिए, एक ग्राफिक्स इंजन, सभी रेंडरिंग गणनाओं को चलाता है, लेकिन उन परिवर्तनों को वास्तविक वातावरण में बदल देता है जिन्हें मॉडल किया जाना है। इनपुट: गणित आउटपुट: सुंदर रंग। एक इंजन में अधिक उच्च स्तरीय इंटरफ़ेस की तुलना में बहुत भिन्न कार्यशील चर भी हो सकते हैं। उदाहरण के लिए, पिछले उदाहरण में, यह बिना किसी छाया या बनावट के, बिना किसी चिंता के ग्राफिक्स में हेरफेर करने के लिए कच्चे संख्यात्मक डेटा का उपयोग कर रहा है, यह सब उस इंजन द्वारा निष्पादित किए जाने वाले समीकरणों और मैट्रिक्स संचालन में सार है। इंजन को किसी दिए गए सिस्टम के "कर्नेल" के रूप में सोचें, जबकि बाकी "शेल" की तरह होगा।
एक वास्तविक दुनिया का उपयोग करने के लिए, CS101 सादृश्य, एक इंजन एक कार इंजन की तरह है। यह दो इनपुट लेता है, वायु और गैस। यह तब उन्हें एक कक्ष में पहुंचाता है, जहां चाप वेल्डिंग की दुनिया का सबसे छोटा उपयोग उत्पन्न करने के लिए बिजली का उपयोग किया जाता है। सामान फिर फट गया। यह दो आउटपुट, निकास और एक दबाव तरंग पैदा करता है जो एक पिस्टन को ड्राइव करता है। बाकी को विभिन्न ड्राइव शाफ्ट और इस तरह से पहिया गति में स्थानांतरित किया जाता है। तो इंजन ही इंजन है और कार ही शेल है। आप एक अलग उद्देश्य के लिए एक कार इंजन का उपयोग कर सकते हैं, बिजली के लिए एक जनरेटर ड्राइविंग या अनाज पीसने के लिए एक चक्की कह सकते हैं। यदि इंजन में कोटिंग्स हैं और जैसे कि इथेनॉल या बायोडीजल जैसी चीजों को संभालने के लिए आप अलग-अलग इनपुट का उपयोग कर सकते हैं।
इसे योग करने के लिए, एक इंजन सॉफ्टवेयर का एक टुकड़ा है जो आमतौर पर अलगाव में नहीं पाया जाता है। यह सॉफ्टवेयर के उस टुकड़े के लिए प्रेरक शक्ति के रूप में कार्य करता है, लेकिन आमतौर पर बाहरी दुनिया के साथ बहुत कम बातचीत करता है। कई इंजन मानार्थ आउटपुट उत्पन्न करने के लिए एक साथ काम कर सकते हैं या आवश्यकतानुसार एक साथ पाइपलाइज़ किए जा सकते हैं। एक इंजन सीधे उपयोगकर्ता के अनुभव से संबंधित चीजों को सौंदर्य बोध से संबंधित नहीं करता है, लेकिन उन अनुभवों को कोई भी कम नहीं करता है जो डेटाफ्लो को प्रेरित करने और अच्छे एप्लिकेशन प्रदर्शन के लिए अनुमति देने के लिए पर्याप्त उत्तरदायी नहीं है।
संज्ञा / .enjən /
इंजन, बहुवचन
गतिमान भागों वाली एक मशीन जो शक्ति को गति में परिवर्तित करती है
वह चीज जो किसी विशेष प्रक्रिया का कारक या साधन है
# 1 engine
सॉफ्टवेयर अर्थों में शब्दार्थ समान है कि यह कुछ होने का कारण बनता है। 3 डी ग्राफिक्स इंजन, इनपुट लेता है और स्क्रीन पर गति के लिए परिवर्तित करता है। एक रेगेक्स इंजन इनपुट लेता है और उन्हें एक अलग आउटपुट में परिवर्तित करता है।
# 2 वाक्य का उपयोग इंजन के परिवर्तन की तरह है । इस शब्दार्थ को सॉफ्टवेयर पर भी लागू किया जा सकता है।
सॉफ्टवेयर engines
चौखटे और पुस्तकालयों से अधिक हैं जो निष्क्रिय रूप से चीजें करते हैं। सॉफ्टवेयर इंजन अपने स्वयं के इनपुट के आधार पर कार्य करते हैं, वे निष्क्रिय नहीं होते हैं, और आमतौर run loop
पर अपने स्वयं के महत्वाकांक्षा पर प्रसंस्करण करने के लिए अपने स्वयं के होते हैं।
मेरी राय में, अब तक का सबसे करीबी जवाब यही था कि यह मार्केटिंग की बात है।
आइए सोचने की कोशिश करें कि इस संदर्भ में शब्द का उपयोग कहां से हुआ।
निश्चित रूप से कार या जेट इंजन को इस तरह नहीं कहा जाता है क्योंकि वे इनपुट लेते हैं और कुछ आउटपुट उत्पन्न करते हैं। अगर ऐसा होता, तो न केवल कार्य, बल्कि जीवन में कई चीजें इंजन होतीं।
यह संयोग से नहीं है, मेरी राय में, कि गाय निश्चित रूप से एक इंजन नहीं है, तकनीकी रूप से नहीं बोल रही है, और बोलने के किसी भी तरीके से नहीं।
इंजन विभिन्न प्रकार की ऊर्जा का उपयोग करते हैं और इसे गति में बदलते हैं (अर्थात एक विशेष प्रकार की ऊर्जा)।
हम सॉफ्टवेयर में इसका उपयोग क्यों करते हैं? मैं कहूंगा कि सबसे यथार्थवादी अनुमान है क्योंकि यह केवल शांत लगता है। हम कुछ प्रोग्रामर्स को 'आर्किटेक्ट्स' क्यों कहते हैं? वही कारण, अगर आप मुझसे पूछें।
एक और कारण यह हो सकता है कि प्रोग्रामर आम तौर पर अपने सॉफ़्टवेयर के कुछ हिस्सों का वर्णन करने के लिए रूपकों का उपयोग करना पसंद करते हैं, इसलिए उन्हें समझाना आसान हो सकता है (क्योंकि स्वाभाविक रूप से अक्सर ऐसा नहीं होता है)।
मेरा कूबड़ यह है कि रूपकों का दुरुपयोग इस तरह से करना बुरा है कि आपका एप्लिकेशन डोमेन उनमें से भरा हुआ है। मुझे लगता है कि यह ग्राहकों से बात करते समय उपयोगी हो सकता है, या ऐसे लोग जो प्रोग्रामिंग के बारे में नहीं जानते या परवाह नहीं करते हैं। इसके अलावा, सरल प्रवाह चार्ट और आरेख मेरे लिए काम करते हैं।
इंजन कुछ भी है जो कुछ इनपुट लेता है, उस इनपुट को प्रोसेस करता है, और आउटपुट के रूप में कुछ देता है । इस परिभाषा के अनुसार, एक सीएमएस इंजन वह हिस्सा है जो इनपुट के आधार पर फ्लाई पर HTTP प्रतिक्रिया उत्पन्न करता है। एक डेटाबेस इंजन वह है जो क्वेरी लेता है, एक निष्पादन योजना बनाता है, और इसे निष्पादित करता है, और परिणाम देता है।
तकनीकी रूप से, यहां तक कि गाय भी एक प्रकार का इंजन है। यह घास लेता है, इसे संसाधित करता है, और दूध वितरित करता है।
मत भूलो कि मैकेनिकल इंजीनियरिंग में शब्द इंजन का अधिक उपयोग किया जाता है, और यह बिल्कुल वैसा ही करता है।
एक इंजन का दूसरा पहलू, एक प्रणाली का मूल है। उदाहरण के लिए, डेटाबेस इंजन किसी भी RDMS का मूल है। हालांकि, इनपुट और रिटर्न परिणाम लेते समय, उस इंजन से कनेक्ट करने के लिए आईडीई को इंजन नहीं माना जाता है।
IMHO, एक इंजन सबसिस्टम, मॉड्यूल या लाइब्रेरी के लिए सिर्फ एक शब्द है। IE - एक या एक से अधिक घटकों को एक विशिष्ट उद्देश्य के लिए डिज़ाइन किया गया।
मेरी नौकरी में इस शब्द का अर्थ है " XEngine.cs
उस कोड फ़ाइल के अंदर कई वर्गों के साथ प्रारूप में एक एकल कोड फ़ाइल, जिसमें सभी में कुछ भी नहीं है, लेकिन स्थिर कोड"। मैं हर बार जब मैं इसे देखता हूं तो मैं थोड़ा अंदर फेंक देता हूं; एक VB6 मॉड्यूल भी हो सकता है।
मैं व्यक्तिगत रूप से इस शब्द का उपयोग नहीं करूंगा, यह अस्पष्ट और अर्थहीन है (जब तक, मुझे लगता है, आप ज्यादातर मामलों में एक ऑटोमोबाइल या शायद एक रेसिंग गेम का अनुकरण करने वाले सॉफ़्टवेयर लिख रहे हैं); यह पुराने "प्रबंधक" वर्गों के योर की तरह है - नाम आपको "यह बहुत कुछ करता है" के अलावा और कुछ नहीं बताता है और आमतौर पर इसका मतलब है कि यह इसका घोर उल्लंघन है SOLID
।