कई Builder Patternउदाहरण Builderवस्तु का एक आंतरिक वर्ग बनाते हैं जो इसे बनाता है।
यह कुछ समझ में आता है क्योंकि यह इंगित करता है कि क्या Builderबनाता है। हालाँकि, एक वैधानिक रूप से टाइप की गई भाषा में हम जानते हैं कि क्या Builderबनता है।
दूसरी ओर यदि Builderकोई आंतरिक वर्ग है, तो आपको पता होना चाहिए कि किस वर्ग का Builderनिर्माण बिना अंदर देखे हुए होता है Builder।
इसके अलावा, एक आंतरिक वर्ग के रूप में बिल्डर होने से आयात की संख्या कम हो जाती है क्योंकि इसे बाहरी वर्ग द्वारा संदर्भित किया जा सकता है - यदि आप इस बारे में परवाह करते हैं।
और फिर ऐसे व्यावहारिक उदाहरण हैं जहां Builderएक ही पैकेज में है, लेकिन एक आंतरिक वर्ग नहीं है, जैसे StringBuilder। आप जानते हैं कि निर्माण Builder करना चाहिएString क्योंकि इसे नाम दिया गया है।
यह कहा जा रहा है, Builderएक आंतरिक वर्ग बनाने के लिए केवल एक ही अच्छा कारण है जिसके बारे में मैं सोच सकता हूं कि आप जानते हैं कि वर्ग ' Builderका नाम जाने बिना या नामकरण परंपराओं पर निर्भर है। उदाहरण के लिए, अगर मैं StringBuilderभीतर का वर्ग Stringहोता तो शायद मुझे पता होता कि मैं (सट्टा) की तुलना में जल्द ही मौजूद हूं।
क्या Builderआंतरिक वर्ग बनाने के लिए कोई अन्य कारण हैं या यह सिर्फ वरीयता और अनुष्ठान के लिए नीचे आता है?