प्रभावी सी ++ राज्यों के आइटम 23 के बारे में प्रश्न: सदस्य कार्यों के लिए गैर-सदस्य गैर-मित्र कार्यों को प्राथमिकता दें।Encapsulation का "शिखर" - प्रभावशाली सी ++
आइटम का पूरा उद्देश्य encapsulation को प्रोत्साहित करना था, साथ ही साथ पैकेज लचीलापन और कार्यात्मक विस्तारशीलता, लेकिन मेरा सवाल यह है कि यह सलाह लेने के लिए आप कितनी दूर जाते हैं?
उदाहरण के लिए, आप अपनी कक्षा, अपने निजी डेटा सदस्यों को प्राप्त कर सकते हैं, और फिर अपने निजी डेटा सदस्यों के लिए केवल एक्सेसर्स और/या म्यूटेटर को सार्वजनिक कार्यों को कम करके कम से कम दृष्टिकोण ले सकते हैं। फिर, हर एक अन्य समारोह एक गैर-सदस्य समारोह हो सकता है।
हालांकि, क्या आप जगह पर एक्सेसर्स और म्यूटेटर के साथ कोड स्पष्टता के संभावित बलिदान पर encapsulation बढ़ाने के इच्छुक होंगे? रेखा कहां खींची गई है?
उन लोगों के लिए प्रभावी सी ++ की प्रतिलिपि के बिना, मेयर्स http://www.ddj.com/cpp/184401197 पर एक समान तर्क प्रस्तुत करते हैं। –