2013-11-01 6 views
7

बिल्डरों (और शायद ही कभी उनका उपयोग किया जाता है) से प्यार नहीं करता है, इसलिए decision to deprecate them jdk8 में अत्यधिक नाखुश नहीं है - लेकिन वहां एक पैकेज है जहां उन्हें बहिष्कृत नहीं किया गया है और वास्तव में केवल उनके उत्पादों को तुरंत चालू करने के तरीके: जावा बीन गुणों के अनुकूलक - बग या फीचर?सभी एफएक्स बिल्डर्स को हटा दिया गया है ... एडाप्टर में एक गुच्छा को छोड़कर?

सवाल:

  • वे अंतिम रिलीज में रूप में अच्छी तरह बहिष्कार कर दिया जाएगा?
  • यदि नहीं, तो क्या कोई कारण है कि वे उपयोग करने के लिए सुरक्षित हैं, जो द्विआधारी संगतता को तोड़ नहीं है?

उत्तर

3

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

एडेप्टर के लिए बिल्डर्स "फ्लैट" बिल्डर्स हैं, जिसका अर्थ है कि बिल्डरों के पास कोई अभिभावक नहीं है। जो केवल प्राकृतिक और आसान है, क्योंकि आपके पास बिल्डर्स केवल मोटे तौर पर प्रत्येक "आदिम" संपत्ति प्रकार के लिए हैं, और ऑब्जेक्ट गुणों के लिए एक है, जो प्रतिबिंब और गेट प्रति प्रतिबिंब पढ़ता है।

इसका मतलब है कि एडाप्टर बिल्डर्स के साथ कोई समस्या नहीं है, वे बाइनरी संगतता को तोड़ नहीं देंगे। क्यों वे केवल बिल्डरों के माध्यम से उजागर किए जाते हैं और यदि उन्हें बहिष्कृत किया जाएगा तो मेरे बाहर है।

+0

बहुत ही भरोसेमंद लगता है - किसी भी तरह से चर्चा में _subclassing_ पहलू को याद किया, यह इंगित करने के लिए धन्यवाद :-) – kleopatra

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