हमारी वर्तमान परियोजना एक परिपत्र निर्भरता मुद्दे में भाग गया है। हमारी व्यावसायिक तर्क असेंबली हमारी साझा लाइब्रेरी असेंबली से कक्षाओं और स्थिर तरीकों का उपयोग कर रही है। साझा लाइब्रेरी में एक संपूर्ण पाठक है, जैसे कि एसक्यूएल रीडर क्लास, एन्युमेटर, ग्लोबल वेरिएबल्स, एरर हैंडलिंग, लॉगिंग और वैलिडेशन।परिपत्र निर्भरता समाधान
साझा लाइब्रेरी को व्यावसायिक वस्तुओं तक पहुंच की आवश्यकता है, लेकिन व्यवसाय वस्तुओं को साझा लाइब्रेरी तक पहुंच की आवश्यकता है। पुराने डेवलपर्स ने साझा लाइब्रेरी (बहुत एंटी-डीआरवाई) में व्यावसायिक वस्तुओं की कार्यक्षमता की प्रतिलिपि बनाकर इस स्पष्ट कोड गंध को हल किया। मैंने इसे हल करने के लिए अपने विकल्पों के बारे में पढ़ने का प्रयास कर एक दिन बिताया है, लेकिन मैं एक मृत अंत में मार रहा हूं।
मैं आर्किटेक्चर रीडिज़ाइन के विचार के लिए खुला हूं, लेकिन केवल अंतिम उपाय के रूप में। तो मेरे पास एक साझा हेल्पर लाइब्रेरी कैसे हो सकती है जो व्यावसायिक ऑब्जेक्ट्स तक पहुंच सकती है, व्यवसाय की वस्तुएं अभी भी साझा हेल्पर लाइब्रेरी तक पहुंच सकती हैं?
स्पष्ट सवाल यह है कि साझा लाइब्रेरी को व्यावसायिक ऑब्जेक्ट्स तक पहुंच की आवश्यकता क्यों है? यदि आप इसका उत्तर दे सकते हैं, तो आपके पास समाधान होगा। – Aaronaught
साझा लाइब्रेरी में स्थिर गुणों से भरा एक सार वैश्विक वैरिएबल क्लास है। ये गुण डेटाबेस से मूल्यों से बनाए जाते हैं इसलिए व्यवसाय वस्तुओं की आवश्यकता होती है, यह केवल कई लोगों का एक उदाहरण है। और निश्चित रूप से व्यापार वस्तुओं को उन स्थिरांक तक पहुंच की आवश्यकता है। – gfoley
यही कारण है कि मैं लाइब्रेरी का वर्णन करने के लिए "साझा" जैसी अस्पष्ट शर्तों का कभी भी उपयोग नहीं करता हूं। वास्तव में यह क्या करता है? जिसे आप साझा लाइब्रेरी कहते हैं, स्पष्ट रूप से बहुत अधिक जिम्मेदारियां हैं, और शायद व्यापार ऑब्जेक्ट लाइब्रेरी भी करता है। आम तौर पर, इन समाधानों को वास्तव में * स्वतंत्र * कक्षाओं/इंटरफेस को अपनी पुस्तकालय में डालकर हल किया जाता है। – Aaronaught