मैं यह सुनिश्चित करने के लिए विभिन्न तरीकों की तलाश कर रहा हूं कि किसी दिए गए वर्ग का प्रत्येक उदाहरण विशिष्ट पहचान योग्य उदाहरण है।
उदाहरण के लिए, मेरे पास Nameक्षेत्र के साथ एक वर्ग है name। एक बार जब मुझे जॉन स्मिथ के Nameसाथ nameआरंभ करने के लिए एक वस्तु मिलती है, तो मैं जॉन स्मिथ Nameके नाम के साथ एक अलग वस्तु को भी तुरंत प्राप्त करने में सक्षम नहीं होना चाहता हूं , या यदि तात्कालिकता होती है, तो मैं चाहता हूं कि मैं चाहता हूं कि मूल वस्तु का संदर्भ वापस पारित किया जाए। एक नई वस्तु की तुलना में।
मुझे पता है कि ऐसा करने का एक तरीका एक स्थिर कारखाना है जो Mapसभी वर्तमान नाम वस्तुओं को रखता है और कारखाने की जाँच करता है कि जॉन स्मिथ के साथ एक ऑब्जेक्ट जैसा कि नाम एक संदर्भ को वापस भेजने से पहले ही मौजूद नहीं है। Nameवस्तु।
एक और तरीका जिससे मैं सोच सकता था कि मेरे सिर के ऊपर Nameकक्षा में एक स्थैतिक मानचित्र हो रहा है और जब निर्माणकर्ता को एक अपवाद फेंकने को कहा जाता है यदि इसके लिए पारित मूल्य nameपहले से ही किसी अन्य ऑब्जेक्ट में उपयोग में है, लेकिन मुझे पता है कि अपवाद फेंक रहा हूं। एक निर्माता में आमतौर पर एक बुरा विचार है ।
क्या इसे प्राप्त करने के अन्य तरीके हैं?
I'm aware that one way of doing this is to have a static factory that holds a Map...तो आप इसे इस तरह से क्यों नहीं करना चाहते हैं?