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