बहुत सारे लोग कहते हैं कि "एक वर्ग को अपने सिर से कभी बड़ा नहीं होना चाहिए"।
हालाँकि, मैंने अभी इस विषय पर कुछ वास्तव में महान, विश्व स्तरीय प्रोग्रामर के साथ चर्चा में भाग लिया है। मैंने इसे नग्न वस्तुओं में से एक के साथ बात की है। जहां तक हम बता सकते हैं, कभी-कभी, यह होता है, और इसके आसपास होने का कोई रास्ता नहीं है।
आम तौर पर, हालांकि, ऐसा होने वाला एक वर्ग एक डोमेन ऑब्जेक्ट है जो आपके डोमेन के मूल तत्व का प्रतिनिधित्व करता है - एक खाता बैंकिंग के लिए, एक खुदरा बिक्री के लिए, आदि। यदि आप पा रहे हैं कि यह अन्य वर्गों के लिए भी होता है, तो आप शायद उस वर्ग की जिम्मेदारी पर विचार करना चाहते हैं। यहाँ मेरी युक्तियां हैं:
- यदि इसे "प्रबंधक", "सहायक" या "सेवा" कहा जाता है, तो संभावना है कि यह बहुत बड़ा है। एक बार जब आप वास्तव में यह समझ लेते हैं कि एक वर्ग की जिम्मेदारी क्या है, तो आपको अन्य जिम्मेदारियों को सौंपना आसान होगा।
- यदि इसे "नियंत्रक" कहा जाता है, तो यह अन्य वर्गों के एक समूह के बीच बातचीत को नियंत्रित करने के लिए जिम्मेदार होना चाहिए ... और कुछ नहीं।
- यदि यह विभिन्न भौतिक नोड्स के बीच डेटा और संदेशों को पारित कर रहा है, तो या तो इसे एक विशिष्ट संदेश को क्रमबद्ध रूप में परिवर्तित करने से निपटना चाहिए, या यह हस्तांतरण तंत्र को संभालता है। उदाहरण के लिए, आपके पास एक वर्ग हो सकता है जो एक बैंक ट्रांजेक्शन को XML में परिवर्तित करता है, और दूसरा वर्ग जो उस XML को HTTP पर भेजता है।
- यदि यह किसी एप्लिकेशन में विभिन्न मॉड्यूल के बीच की घटनाओं को पार कर रहा है, तो यह सुनने वालों के लिए ज़िम्मेदार होना चाहिए कि कब कोई घटना उठे, और कुछ नहीं।
अंगूठे के एक नियम के रूप में, यदि यह बहुत बड़ा है, तो देखें कि क्या आप किसी अन्य वर्ग को कोई जिम्मेदारियां सौंप सकते हैं, और यदि आप नहीं कर सकते हैं, तो यह शायद ठीक है।