एक बात है कि हमेशा जावा में मुझे परेशान करता है:जावा सार्वजनिक कक्षाएं
कैसे आप एक ही सार्वजनिक वर्ग कि नीचे की ओर उपभोक्ताओं द्वारा इस्तेमाल किया जाना चाहिए, लेकिन फिर अच्छी तरह से कक्षाओं में पर निर्भर करता है को व्यवस्थित बना सकता हूँ संकुल?
उदाहरण के लिए (कुछ हद तक योगदान हुआ), मेरे पास एक क्लास UserDao है जो LdapPersistenceHelper और DBPersistenceHelper पर निर्भर करता है। UserDao क्लास com.company.dao नामक पैकेज में बैठी है और मैं चाहता हूं कि दो सहायक मदद com.company.dao.persistencehelper नामक पैकेज में रहें। हालांकि, मैं दो सहायकों को पर्याप्त सामान्य बनाना नहीं चाहता हूं कि वे दूसरों द्वारा उपयोग किए जा सकें। मैं यह कैसे करूँ? अगर मैं सहायकों को "संरक्षित" (वास्तव में, कोई संशोधक नहीं) बनाता हूं तो मैं उन्हें उपयोगकर्ताडाओ से नहीं पहुंच सकता। अगर मैं उन्हें सार्वजनिक करता हूं, तो कोई और उनका उपयोग कर सकता है।
दिलचस्प, मैंने इस समस्या को हल करने के लिए ओएसजीआई का उपयोग करने के बारे में सोचा नहीं था – silk