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