फ़ैक्टरी विधि पैटर्न कॉलिंग क्लास से निर्णय लेने की प्रक्रिया को रोक देता है। इसके कई फायदे हैं:
पुन: उपयोग। अगर मैं कई जगहों पर तात्कालिकता करना चाहता हूं, तो मुझे अपनी स्थिति को दोहराने की आवश्यकता नहीं है, इसलिए जब मैं एक नया वर्ग जोड़ने के लिए आता हूं, तो मुझे लापता होने का जोखिम नहीं है।
यूनिट Testability। मैं कारखाने के लिए 3 परीक्षण लिख सकता हूं, यह सुनिश्चित करने के लिए कि यह सही स्थितियों पर सही प्रकार लौटाता है, फिर मेरी कॉलिंग क्लास को केवल यह देखने के लिए परीक्षण करने की आवश्यकता है कि क्या यह कारखाने को कॉल करता है और फिर लौटे वर्ग पर आवश्यक तरीके। इसे कारखाने के कार्यान्वयन या ठोस वर्गों के बारे में कुछ भी जानने की जरूरत नहीं है।
तानाना। जब कोई निर्णय लेता है कि हमें इस कारखाने में एक नया वर्ग डी जोड़ने की आवश्यकता है, तो कोई भी कॉलिंग कोड, न ही यूनिट परीक्षण या कार्यान्वयन, कभी भी बताने की आवश्यकता नहीं है। हम बस एक नया वर्ग डी बनाते हैं और हमारे कारखाने के तरीके का विस्तार करते हैं। यह ओपन-क्लोज्ड सिद्धांत की बहुत परिभाषा है ।
तुम भी एक नया कारखाना वर्ग बना सकते हैं और उन्हें गर्म swappable बना सकते हैं, अगर स्थिति की आवश्यकता है - उदाहरण के लिए, यदि आप परीक्षण करते समय कक्षा डी को स्विच और बंद करने में सक्षम होना चाहते हैं। मैं केवल एक बार इस स्थिति में आया हूं, लेकिन यह बहुत उपयोगी था।
जैसा कि कहा गया है, फ़ैक्टरी पैटर्न हमेशा जाने का रास्ता नहीं है। लेकिन, जहाँ भी आप सशर्त तात्कालिकता देखते हैं, आपको इसे एक पल का विचार देना चाहिए।