मैं एक कार्ड गेम का जावा कार्यान्वयन लिख रहा हूं, इसलिए मैंने एक विशेष प्रकार का संग्रह बनाया है जिसे मैं ज़ोन कह रहा हूं। जावा के संग्रह के सभी संशोधन विधियाँ असमर्थित हैं, लेकिन ज़ोन एपीआई में एक विधि है move(Zone, Card)
, जो दिए गए ज़ोन से स्वयं के लिए एक कार्ड ले जाती है (पैकेज-प्राइवेट तकनीकों द्वारा पूरा)। इस तरह, मैं यह सुनिश्चित कर सकता हूं कि कोई कार्ड ज़ोन से बाहर न जाए और बस गायब न हो; उन्हें केवल दूसरे क्षेत्र में ले जाया जा सकता है।
मेरा सवाल यह है कि इस तरह की रक्षात्मक कोडिंग कितनी आवश्यक है? यह "सही" है, और यह सही अभ्यास की तरह लगता है, लेकिन ऐसा नहीं है कि जोन एपीआई कभी किसी सार्वजनिक पुस्तकालय का हिस्सा बनने जा रहा है। यह सिर्फ मेरे लिए है, इसलिए यह इस तरह का है जैसे मैं अपने कोड की रक्षा खुद से कर रहा हूं जब मैं केवल मानक संग्रह का उपयोग करके संभवतः अधिक कुशल हो सकता हूं।
मुझे इस ज़ोन विचार को कितनी दूर ले जाना चाहिए? क्या कोई मुझे इस बारे में कुछ सलाह दे सकता है कि मुझे अपने द्वारा लिखी गई कक्षाओं में अनुबंधों को संरक्षित करने के बारे में कितना सोचना चाहिए, खासकर उन लोगों के लिए जो वास्तव में सार्वजनिक रूप से उपलब्ध नहीं होने जा रहे हैं?