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