"सिंगल-एक्सेस-पॉइंट" विधियों के आधार पर विधि की क्लासिक OOP समस्या है:
main.getA().getB().getC().transmogrify(x, y)
बनाम
main.getA().transmogrifyMyC(x, y)
पहला फायदा यह लगता है कि प्रत्येक वर्ग केवल संचालन के एक छोटे से सेट के लिए जिम्मेदार है, और सब कुछ बहुत अधिक मॉड्यूलर बनाता है - सी के लिए एक विधि को जोड़ने से ए, बी या सी में किसी भी प्रयास को उजागर करने की आवश्यकता नहीं है।
नकारात्मक पक्ष, निश्चित रूप से, कमजोर एनकैप्सुलेशन है , जो दूसरा कोड हल करता है। अब A के पास से गुजरने वाली हर विधि का नियंत्रण है, और यदि वह चाहे तो इसे अपने क्षेत्रों में सौंप सकता है।
मुझे लगता है कि कोई एकल समाधान नहीं है और यह निश्चित रूप से संदर्भ पर निर्भर करता है, लेकिन मैं वास्तव में दो शैलियों के बीच अन्य महत्वपूर्ण अंतरों के बारे में कुछ इनपुट सुनना पसंद करूंगा, और मुझे किन परिस्थितियों में दोनों में से किसी एक को पसंद करना चाहिए - क्योंकि अभी, जब मैं कोशिश करता हूं कुछ कोड डिजाइन करने के लिए, मुझे लगता है कि मैं सिर्फ एक तरह से या दूसरे को तय करने के लिए तर्कों का उपयोग नहीं कर रहा हूं।