JavaBean विनिर्देशन से अभिगम विधि जावा विकास के लिए मानक क्यों बन गई है?


9

JavaBeans विशिष्टता एक JavaBean के रूप में वर्णन करता है

एक जावा बीन एक पुन: प्रयोज्य सॉफ्टवेयर घटक है जिसे एक बिल्डर टूल में नेत्रहीन रूप से हेरफेर किया जा सकता है

चूँकि लिखी गई कोड की अधिकांश पंक्तियाँ एक बिल्डर टूल में नेत्रहीन रूप से हेरफेर करने से कोई लेना-देना नहीं है, इसलिए JavaBean विनिर्देश ऑब्जेक्ट ओरिएंटेड कोड लिखने का "तरीका" क्यों है?

मैं धाराप्रवाह कोड के रूप में सभी में, न केवल बिल्डरों में, बल्कि पारंपरिक भय / सेटर को भी पूरी तरह से रोकना चाहूंगा , ऐसा करने से डर लगता है क्योंकि यह परंपरागत रूप से नहीं है जिस तरह से जावा में ऑब्जेक्ट ओरिएंटेड कोड लिखा जाता है।


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

जवाबों:


7

JavaBean स्टाइल एक्सेसर्स सभी प्रकार के परिदृश्यों के लिए एक अच्छा मेल साबित हुए हैं जो मूल "बिल्डर टूल" परिदृश्य के समान हैं। एक कोर पॉइंट में: घटकों को पास किया जा रहा है और जेनेरिक कंटेनरों और टूल्स के साथ-साथ एप्लिकेशन कोड द्वारा हेरफेर किया जा रहा है। एक ऐप सर्वर में आपके पास सेवा घटक होते हैं, जिसमें एक EJB या स्प्रिंग कंटेनर लेन-देन और निर्भरता इंजेक्शन जोड़ता है, लगातार डोमेन मॉडल जिसमें एक ORM आलसी लोडिंग और परिवर्तन का पता लगाता है, और जिसे किसी भी विशिष्ट कोड के बिना लाइब्रेरी द्वारा XML में क्रमांकित किया जा सकता है।

एक्सेसर्स एक सामान्य एपीआई प्रदान करते हैं जो बहुत ही लचीली होती है कि घटक का उपयोग कैसे किया जा सकता है - यह संचालन के आदेश को नियंत्रित नहीं करता है। प्रत्येक एक्सेसर कॉल दूसरों से स्वतंत्र है और वे सभी एक ही पैटर्न का पालन करते हैं, इसलिए आप आसानी से जेनेरिक परतों को जोड़ सकते हैं जो कि इच्छित उपयोग पैटर्न को बाधित किए बिना कार्यक्षमता जोड़ते हैं।

इसके विपरीत, धाराप्रवाह इंटरफेस अक्सर एक-शॉट उपयोग के लिए डिज़ाइन किए जाते हैं: ऑब्जेक्ट बनाया जाता है, विधियों की एक श्रृंखला को कहा जाता है जो एक अंतिम परिणाम उत्पन्न करने वाली विधि के साथ समाप्त होती है, और फिर ऑब्जेक्ट को छोड़ दिया जाता है। बहुत कम लचीलापन है (ज्यादातर तरीके वैकल्पिक हैं) और उदारता है, लेकिन यह वास्तव में लाभ है: इंटरफ़ेस आपको एक इच्छित उपयोग पैटर्न में मजबूर करता है, जिससे इसका उपयोग करना बहुत आसान हो जाता है।

तो JavaBeans और धाराप्रवाह इंटरफेस के विभिन्न परिदृश्यों में फायदे हैं, और जो आपको उपयोग करना चाहिए वह निर्भर करता है। और आप दोनों को जोड़ भी सकते थे।


3

खैर, क्योंकि JavaBeans Specification आप लिंक करने के गुणों को एक्सेस करने के लिए एक कन्वेंशन को परिभाषित करते हैं, इसलिए लोगों ने कन्वेंशन का लाभ उठाने का फैसला किया और इसके चारों ओर फ्रेमवर्क बनाए। इनमें से कुछ चौखटे, जैसे कि हाइबरनेट, काफी उपयोगी थे और इसलिए बहुत लोकप्रिय हो गए। इसलिए, क्योंकि लोगों ने चौखटे का इस्तेमाल किया था जो जावाबीन की कल्पना पर आधारित थे, जावाबीन्स अधिक से अधिक सर्वव्यापी हो गए, और अधिक से अधिक चौखटे उनके चारों ओर बनाए गए थे।

धाराप्रवाह इंटरफेस एक महान विचार है, लेकिन क्या वे स्प्रिंग या स्ट्रट्स 2 के साथ अच्छा खेलते हैं? मुझे पता नहीं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.