मैं कहूंगा कि नोएल ललोपिस का ब्लॉग संभवतः ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग और डेटा-ओरिएंटेड डिज़ाइन के संयोजन के लिए सबसे अच्छा निर्देश है। वह DOD शब्द के प्रवर्तकों में से एक है, एक मजबूत C ++ प्रोग्रामर है, और उसने अपनी शैली के बारे में एक अच्छी बात लिखी है और वह C ++ की OO सुविधाओं का लाभ उठाता है।
मुझे लगता है कि अगर मैं नोएल के अनुसार, उन्हें संयोजन के प्रमुख तत्वों को बाहर करने के लिए था:
- POD और गैर-सदस्य, गैर-मित्र कार्यों का यथासंभव उपयोग करें। गैर-सदस्य, गैर-मित्र फ़ंक्शन एन्कैप्सुलेशन में सुधार करते हैं और डेटा-ओरिएंटेशन का एक महत्वपूर्ण हिस्सा हैं क्योंकि वे डेटा, डेटा रखते हैं।
- अपनी वस्तुओं पर "अस्थायी" स्थिति के भंडारण से बचें। अस्थायी स्थिति आपके डेटा को रोकती है। यदि आपको कुछ (जैसे प्रदर्शन के लिए) कैश करने की आवश्यकता है, तो वह एक नए वर्ग में है, जिसमें गैर-सदस्य गैर-मित्र फ़ंक्शन दो प्रकारों को जोड़ता है, न कि एक-न-एक है-एक संबंध है।
- उन वस्तुओं से बचें जो राज्य ए या राज्य बी में हो सकती हैं। दो वस्तुओं के बीच स्विच करना पसंद करें, जिनमें से एक ए है, और जिनमें से एक बी है।
- बहुरूपता से बचें, वर्चुअल फ़ंक्शंस से बचें, टेम्प्लेट से बचें, ऐसी किसी भी चीज़ से बचें जो आपके डेटा को वास्तविक सत्यता के बजाय समता का रूपात्मक रूप देती है ।
DOD प्रचार में अभी दूसरा बड़ा नाम Insomniac का माइक एक्टन है, लेकिन जो उसने लिखा है, उसे पढ़कर वह कह सकता है कि वह वास्तव में समर्थक OO (या विरोधी OO नहीं है, जब तक कि यह अभी भी डेटा-उन्मुख है)।