अनुकूल तब होता है जब दोनों उम्मीदवार योग्य होते हैं। प्रश्न में बताई गई समस्या इस खाते पर विफल हो जाती है, क्योंकि इसमें केवल एक रचना विकल्प होता है।
"रचना सामान्यीकरण का भी उपयोग कर सकती है"। क्या यह कथन हमारे लिए मायने रखता है? यदि नहीं, तो हम अभी तक 'पक्ष' नियम को समझने के लिए तैयार नहीं हैं।
हम क्यों एहसान कर रहे हैं कि रचना सामान्यीकरण की तुलना में अधिक विस्तार / flexiblity possiblities प्रदान करता है। यह विस्तार / फ्लेक्सिबिलिटी ज्यादातर रनटाइम / डायनेमिक लचीलेपन (जो इंटरफेस और कंपोज़िशन के संयोजन से हासिल की जाती है) को संदर्भित करता है।
लाभ तुरंत दिखाई नहीं देता है। लाभ को देखने के लिए आपको अगले अप्रत्याशित परिवर्तन अनुरोध की प्रतीक्षा करनी होगी। इसलिए ज्यादातर मामलों में जो सामान्यीकरण से चिपके रहते हैं, वे उन लोगों की तुलना में विफल हो जाते हैं जिन्होंने रचना को अपनाया है (बाद में उल्लेखित एक स्पष्ट मामले को छोड़कर)। इसलिए नियम। सीखने के दृष्टिकोण से यदि आप एक निर्भरता इंजेक्शन को सफलतापूर्वक लागू कर सकते हैं तो आपको पता होना चाहिए कि किस पर पक्ष लेना है और कब। नियम आपको निर्णय लेने में मदद करता है जब आप सुनिश्चित नहीं होते हैं कि किसे चुनना है। फिर से आपको किसी एक का पक्ष लेने के लिए पहली जगह में दोनों विकल्प देखने में सक्षम होना चाहिए।
सारांश: संरचना: युग्मन को केवल कुछ छोटी चीज़ों के साथ घटाया जाता है जिसे आप किसी बड़ी चीज़ में प्लग करते हैं, और बड़ी वस्तु बस छोटी वस्तु को वापस बुलाती है। जनरेशन: एक तीसरी पार्टी एपीआई के दृष्टिकोण से यह परिभाषित करना कि एक विधि को ओवरराइड किया जा सकता है यह परिभाषित करने की तुलना में एक मजबूत प्रतिबद्धता है कि एक विधि को बुलाया जा सकता है (निश्चित रूप से सामान्यीकरण के लिए जीत)। और यह कभी मत भूलो कि रचना के साथ आप सामान्य वर्ग के बजाय सामान्यीकरण का भी उपयोग कर रहे हैं। लेकिन पूरा श्रेय दुर्भाग्य से रचना को जाता है।