2012-02-20 13 views
7

मैं डिजाइन पैटर्न के मुद्दे पर काम कर रहा हूं। इस मामले में मैं डिजाइन पैटर्न 'फसाड'डिजाइन पैटर्न "फेकाडे"

लागू करना चाहते हैं मुझे पता है कि 'कोको टच' हमें हमारी परियोजनाओं में डिजाइन पैटर्न लागू करने के लिए पूर्ण समाधान प्रदान करता है (उदाहरण के NSNotificationCenter के लिए - लागू करता पर्यवेक्षक डिजाइन पैटर्न)

मेरे प्रश्न अगली हैं: - क्या हमारे पास डिज़ाइन पैटर्न 'फेकाडे' के साथ-साथ पर्यवेक्षक डिज़ाइन पैटर्न के मामले में भी उपयोग करने की क्षमता है।

अब मैं इस तरह 'फसाड' को लागू:

उदाहरण के लिए मैं कुछ वर्ग है जो कुछ गणना लागू करता है। 'फेकाडे' कक्षा सभी वर्गों को गठबंधन करती है जिन्हें मुझे गणनाओं की आवश्यकता होती है।

उदाहरण के लिए मेरे पास कक्षा ए, बी, सी और फेकाडे (जिसमें ए, बी और सी कक्षाएं हैं) हैं।

जब मैं कुछ गणना करना चाहता हूं तो मैं बस अपना 'फेकाडे' बना सकता हूं और गणना के लिए कुछ तर्क पास करता हूं। इस मामले में मुझे कक्षा ए, बी, सी के बारे में पता नहीं है और यह फेकाडे ऑब्जेक्ट केवल मुझे एक एक्सेस पॉइंट प्रदान करता है।

यह डिज़ाइन पैटर्न ऑब्जेक्ट्स को घेरता है और एप्लिकेशन को सरल बनाता है।

क्या यह सही कार्यान्वयन है?

उत्तर

7

मुखौटा पैटर्न - पिज्जा कॉल सेवा को लागू करने के लिए एक और अच्छा उदाहरण है। उदाहरण के लिए, पिज्जा सेवा (उपप्रणाली) बहुत बड़ी है और इसमें तीन विभाग (इंटरफेस) शामिल हैं: आदेश विभाग, छूट विभाग, वितरण विभाग। प्रत्येक विभाग के पास तर्क और इंटरफेस होते हैं। आप बस उस पर मुखौटा पैटर्न लागू कर सकते हैं। Here अधिक जानकारी में यह उदाहरण।

+0

बहुत अच्छा उदाहरण धन्यवाद! –

1

मुखौटा पैटर्न के पीछे प्रेरणा अक्सर उपयोग किए जाने वाले मामलों के लिए एक सरल इंटरफेस प्रदान करना है, जबकि सरलीकृत इंटरफ़ेस से पहले पहुंचने की क्षमता को समायोजित करना और जब आवश्यक हो तो मुखौटा के पीछे कक्षाओं के अधिक जटिल पहलुओं के साथ बातचीत करना। जैसा कि आपने अपने कार्यान्वयन का वर्णन किया है, यह निश्चित रूप से वर्णन में फिट होगा, और कोई कारण नहीं है कि आप अधिसूचना/पर्यवेक्षक पैटर्न के साथ संयोजन में एक मुखौटा पैटर्न का उपयोग नहीं कर सकते ...

4

यह सही स्पष्टीकरण है (मुझे कार्यान्वयन नहीं दिख रहा है)। वास्तविक जीवन में फेकाडे पैटर्न के लिए अच्छा सहयोग रिमोट कंट्रोल है - आप टीवी फ़ंक्शन, डीवीडी आदि चला सकते हैं।

+0

उत्तर के लिए धन्यवाद! मुझे यह उदाहरण पसंद है (मेरा मतलब है टीवी और डीवीडी) –

7

एक फेकाडे को अंतरफलक के गुच्छा के लिए एकीकृत इंटरफ़ेस के रूप में परिभाषित किया गया है - जटिलता को कम करने के लिए उच्च स्तरीय इंटरफ़ेस का प्रकार। कई वर्गों से निपटने और प्रत्येक के एपीआई को जानने के बजाय इसे मुखौटा में कम कर दिया गया। आपकी व्याख्या मेरे लिए ठीक लगती है।

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