सार्वजनिक उपभोग के लिए एक एपीआई को पैकेजिंग पर काम करना मुश्किल है। इस प्रकार मैं उन तरीकों को सीमित करने की कोशिश कर रहा हूं जो केवल उन लोगों के सामने आती हैं जिन्हें मैं सार्वजनिक और सहायक होना चाहता हूं। इस कोर्स के नीचे सीमित पहुंच विधियों की भीड़ है।क्या मेरी आंतरिक एपीआई कक्षाएं सभी एक पैकेज में होनी चाहिए?
दिक्कत यह है कि मैं उन तरीकों को सार्वजनिक किए बिना इन प्रतिबंधित तरीकों का उपयोग करने की जरूरत है कि आंतरिक कोड का एक बहुत कुछ है।
- मैं इंटरफेस नहीं बना सकते इस के रूप में वर्गों के बीच संवाद करने के लिए इन अपने आंतरिक तरीकों सार्वजनिक बनाना होगा: यह दो मुद्दों पैदा करता है।
- मैं संरक्षित या डिफ़ॉल्ट विधियों तक नहीं पहुंच सकता जब तक कि मैं बहुमत पैकेज में अपने आंतरिक वर्गों का बहुमत नहीं डालता।
तो, मेरे पास साफ-अलग पृथक पैकेजों में लगभग 70 या 80 आंतरिक कक्षाएं हैं लेकिन अत्यधिक अनुमोदित पहुंच संशोधक के साथ। क्या आप कहेंगे कि एक ही पैकेज दो बुराइयों में से कम है या क्या अधिक बारीक पैकेज रखने के दौरान मेरे आंतरिक तरीकों को मुखौटा करने में सक्षम होने का एक बेहतर तरीका है?
मैं यहाँ सबसे अच्छा अभ्यास पता लगाने के लिए दिलचस्पी होगी।
मैं जैसा कि आप देख वे दो पैकेज में आम सर्वलेट एपीआई और http अलग किया है पहले से ही This
मुझे लगता है कि प्रश्न थोड़ा सा व्यक्तिपरक है: मैं, व्यक्तिगत रूप से, डिजाइन निर्णयों को पसंद नहीं करता जो खराब आंतरिक संगठन की ओर ले जाता है, जैसे आपके सभी कक्षाओं में एक-पैकेज केस। लेकिन ऐसी चीजों को करने का सही तरीका अभी ध्यान में नहीं आता है। – incarnate