c# - परिपत्र निर्भरताएं




visual-studio dependencies (7)

आम परियोजनाओं को "प्रोजेक्ट # 0" में लाने के लिए अपनी परियोजनाओं को दोबारा दोहराएं जो परियोजना # 1 और प्रोजेक्ट # 2 संदर्भ दोनों हैं।

मेरे पास 2 परियोजनाएं हैं I

प्रोजेक्ट # 2 में प्रोजेक्ट # 1 का संदर्भ है

अब मुझे प्रोजेक्ट # 1 में प्रोजेक्ट # 2 का संदर्भ देना होगा, लेकिन बनाम.net एक परिपत्र निर्भरता के बारे में शिकायत कर रहा है।

क्या इसका कोई तरीका है?


एक परिपत्र निर्भरता का अर्थ है कि ये अब दो स्वतंत्र परियोजनाएं नहीं हैं (क्योंकि उनमें से केवल एक बनाना असंभव है)।

आपको या तो रिफैक्टर की आवश्यकता है ताकि आपके पास केवल एक ही निर्भरता हो या आपको उन्हें एक ही प्रोजेक्ट में विलय करना चाहिए।


दोनों को एक या फिर से डिजाइन करें।


नहीं। अपनी परियोजनाओं को व्यवस्थित करें। अबास्ट्रक्शन के आधार पर कुछ प्रकार के ऑर्डरिंग का उपयोग करने का प्रयास करें - निम्न स्तर से उच्च स्तर तक।


मैं वास्तव में एक स्मार्ट-एलेक होने का मतलब नहीं है, लेकिन बेहतर प्रोग्राम डिज़ाइन जवाब है।


यह आपके डिजाइन में एक समस्या को इंगित करता है। यदि आपके दो या अधिक प्रकार के पारस्परिक रूप से जागरूक होने की वास्तविक आवश्यकता है तो उन्हें एक ही असेंबली में मौजूद होना चाहिए।


बिलकुल नहीं। परिपत्र निर्भरता खराब डिजाइन का संकेत है। मेरा कठोर होने का मतलब नहीं है। इसमें से कुछ तरीके हैं।

1) प्रोजेक्ट # 0 कहें, आप किसी अन्य प्रोजेक्ट को सामान्य कोड दोबारा कर सकते हैं

2) आप अपने डिजाइन को ठीक कर सकते हैं, जो शायद जाने का तरीका है।

अंकल बॉब का पैकेजिंग सिद्धांतों पर एक अच्छा लेख है जिसमें विश्वकोश निर्भरता सिद्धांत शामिल है। http://www.objectmentor.com/resources/articles/granularity.pdf । यह जानने के लिए पढ़ें कि क्यों चक्रीय निर्भरता एक बुरी चीज है।





package-design