अच्छा ओओ डिज़ाइन करने से पहले आपको खराब ओओ डिज़ाइन करना होगा।
एक शानदार परियोजना आपके मुद्रा परिवर्तक को ले जाएगी और धीरे-धीरे ओओ अवधारणाओं का उपयोग करने के लिए कोड को स्थानांतरित करेगी। ओओ एक रचनात्मक प्रक्रिया है: कोई गलत जवाब नहीं है, लेकिन बदतर और बेहतर मौजूद है। असल में, जब आपका कोड कार्यक्षमता बरकरार रखता है और कम/आसान-पढ़ने के लिए मिलता है, तो यह बेहतर होता है। जब इसे अधिक कोड जोड़ने के बिना लचीलापन प्राप्त होता है, तो यह भी बेहतर होता है। लेकिन यह एक रचनात्मक प्रक्रिया है। जीआईटी जैसे संस्करण नियंत्रण प्रणाली का उपयोग आसानी से "पूर्ववत करें" करने में सक्षम होने के लिए, सामानों को आज़माएं, और मिस्टकेस बनाएं। ओओ डिजाइन एक प्रक्रिया है।
- यह अनुभव से है डिजाइन कौशल प्राप्त किया जा सकता?
हां।
- विल इंटरनेट आदि मदद ढंग से सिखाया जाता किताबें/ब्लॉग/सामग्री?
हां।
- यह है कि एक आवेदन होने का डोमेन ज्ञान की जरूरत है विकसित की है?
हाँ, पर मुझे लगता है कि डोमेन जानते हुए भी बहुत अच्छी तरह से अच्छे डिजाइन अप पेंच कर सकते हैं।एयरलाइन प्रोग्रामर के साथ काम करते समय, मैंने देखा कि ज्ञात, निर्विवाद abstractions ("टिकट," "आरक्षण") अच्छा ओओ डिजाइन अवरुद्ध। आपका ओओ मॉडल असली दुनिया मॉडल नहीं है। यह आपके कार्यक्रम के लिए एक मॉडल है।
- जानने डिजाइन पैटर्न, सिद्धांतों?
हां, हमेशा बेहतर होता है।
बहुत से लोग कहते हैं कि यह एक महान पुस्तक है। लेकिन, क्या आपने इटालो कैल्विनो पढ़ा है? या जॉर्ज लुइस बोर्गेस? सभी प्रकार की किताबें मदद कर सकती हैं।
- आवश्यकता समस्या को सुलझाने कौशल के लिए?
नहीं, आप OO (या किसी अन्य प्रतिमान) लगाने से समस्या को सुलझाने के कौशल मिलता है।
स्रोत
2010-05-08 14:57:37
संक्षेप में के तंत्र, मेरा उत्तर हां आपके सभी सवालों के लिए है –
एंथनी फोर्लोनी: +1। शायद केवल 'कोड पूर्ण' को छोड़कर। – Roman
@ रोमन, सहमत, हालांकि मुझे लगता है कि * कोड पूर्ण * कुछ ऐसा है जिसे पढ़ना चाहिए यदि आप अपने कौशल को बेहतर बनाना चाहते हैं। यही कारण है कि मैंने इसे 'हां' दिया :) –