2012-12-09 24 views
5

में प्रभावी फैक्ट्री विधियों प्रभावी जावा, आइटम 1 में, यह कहता है कि स्थैतिक फैक्ट्री विधियों ने कलेक्शन फ्रेमवर्क को उससे बहुत छोटा बना दिया होगा। क्या कोई बता सकता है कि कैसे? मैं समझ नहीं पा रहा हूं कि स्थैतिक फैक्ट्री विधियों का उपयोग करने के कारण निम्नलिखित कैसे संभव है? मेरा मतलब है कि हमें अभी भी उन अलग-अलग कार्यान्वयन को लागू करना है, है ना?प्रभावी जावा

संग्रह फ़्रेमवर्क API बहुत छोटे की तुलना में यह किया गया है यह बत्तीस अलग सार्वजनिक वर्गों, प्रत्येक सुविधा लागू करने के लिए एक निर्यात प्राप्त हुआ होता है।

+0

आपका मतलब बहुत छोटा है - प्रदर्शन, सही? –

+1

नहीं। मुझे प्रभावी जावा में लगता है, उनका मतलब आकार है। कृपया मुझे सुधारें अगर मैं गलत हूं। –

उत्तर

2

द्वारा "छोटे" वे "कम वर्गों" मतलब के लिए http://docs.oracle.com/javase/7/docs/technotes/guides/collections/overview.html देखें।

कार्यान्वयन के प्रत्येक भिन्नता के लिए बहुत से कक्षाएं प्रदान करने के बजाय, कारखाने के तरीकों को प्रदान किया गया है कि इस तरह के कार्यान्वयन को अपनी कक्षाओं को शीर्ष-स्तरीय कक्षाओं (कम "वर्ग ब्लोट") के रूप में घोषित करने की आवश्यकता के बिना वापस कर दें।

+0

क्या आप कई शीर्ष-स्तरीय कक्षाओं के नुकसान के बारे में समझा सकते हैं? मुझे यकीन नहीं है कि मैं जवाब के उस हिस्से को समझता हूं। – Viraj

+0

@viraj बहुत से वर्ग "कोड अव्यवस्था" का एक रूप हैं, विशेष रूप से जब ठोस कक्षाओं की आवश्यकता होती है तो वे कुछ इंटरफेस के प्रभावी रूप से स्वाद होते हैं। कारखाने के तरीके एक स्थिर एपीआई भी प्रदान करते हैं जिसके पीछे उपयोग किए जाने वाले वास्तविक वर्गों को बदलने के लिए स्वतंत्र होते हैं क्योंकि कोड आधार विकसित होता है। – Bohemian

+0

अगर मुझे सही तरीके से यह समझ में नहीं आया है, तो मुझे सही करें, फैक्ट्री विधियों में इंटरफेस के पीछे वास्तविक कार्यान्वयन (कक्षाएं गैर-सार्वजनिक करके) छुपाएं, जब आप कार्यान्वयन को बदलना चाहते हैं तो कोड आधार विकसित होता है। इसका मतलब है, मान लें कि आपके पास संस्करण 1.1 में किसी विशेष इंटरफ़ेस के लिए 2 कार्यान्वयन हैं, तो आप संस्करण 1.2 में 2 के 1 कार्यान्वयन को आसानी से हटा सकते हैं? – Viraj

0

मुझे लगता है कि यहां अर्थ यह है कि जावा संग्रह एपीआई में केवल मूल कार्यान्वयन है, यदि आपको सिंक्रनाइज़ेशन की आवश्यकता है, आदि "रैपर" स्थिर कारखानों द्वारा प्रदान की जाती हैं।

तो 8 कार्यान्वयन हैं और "रैपर" के बिना और अधिक (आकार लाभ) होगा।

अधिक जानकारी के