2010-06-20 7 views
6

मेरे पास सी # में तीन परत अनुप्रयोग है। व्यवसाय परत में मेरे पास कई धागे हैं जो एक ही काम करते हैं। मैं यूआई पर प्रत्येक थ्रेड की प्रगति दिखाना चाहता हूं, लेकिन मेरे पास प्रस्तुति परत का संदर्भ नहीं है।व्यवसाय परत से यूआई को कैसे अपडेट करें?

मैं यह कैसे कर सकता हूं? इसके लिए सबसे अच्छा तरीका क्या है?

धन्यवाद।

उत्तर

6

यहां सबसे उपयुक्त उत्तर शायद आपके व्यापार परत पर event का पर्दाफाश करने के लिए है। आपका यूआई कोड घटना की सदस्यता ले सकता है, और यूआई थ्रेड (यदि आवश्यक हो) पर स्विच करके ईवेंट को संभाल सकता है और खुद को अपडेट कर सकता है।

तो व्यापार कोड यूआई के बारे में पता करने की जरूरत नहीं है, और के बिना किसी भी यूआई ही काम कर सकते हैं (लेकिन सभी प्रतिनिधियों/कॉलबैक के साथ के रूप में, आप प्रतिनिधि आह्वान करने के लिए प्रयास करने से पहले null के लिए जांच करने की आवश्यकता) ।

4

यूआई के लिए बिजनेस लेयर को कॉल करने के लिए एक प्रतिनिधि (या एक इंटरफ़ेस) पास करने का सबसे आसान तरीका है ताकि यह प्रगति को इंगित कर सके।

यह परीक्षण करना भी वास्तव में आसान है, क्योंकि यह चिंताओं को अलग करता है: आपके व्यवसाय परत परीक्षणों में, आप एक परीक्षण प्रतिनिधि में पास कर सकते हैं और सुनिश्चित कर सकते हैं कि इसे कॉल किया जाता है। आपके यूआई परीक्षणों में, आप व्यवसाय परत को नकली कर सकते हैं, और का दावा कर सकते हैं कि प्रगति हो रही है, उपयुक्त प्रतिनिधि को बुलाएं और यूआई अपडेट उचित तरीके से जांचें।

संबंधित मुद्दे