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