2008-11-21 20 views
5

डीडीडी के किरायेदारों में से एक यह है कि आपकी ऑब्जेक्ट्स अमान्य स्थिति में प्रवेश न करें। मेरे लिए इसका मतलब है कि सार्वजनिक पैरामीटर रहित कन्स्ट्रक्टर नहीं होना चाहिए क्योंकि यह 99% समय के अमान्य स्थिति में ऑब्जेक्ट होने जा रहा है।डीडीडी + सार्वजनिक पैरामीटर रहित रचनाकार - क्या वे मौजूद होना चाहिए?

क्या यह आगे बढ़ने का एक अच्छा तरीका है? यह एक विशाल पिटा बन जाता है जब आप बस कक्षा को वास्तविक रूप से नया करना चाहते हैं।

उत्तर

2

अच्छा सवाल। मेरे पास डीडीडी नाज़ी दोस्त हैं जो कहते हैं कि पैरामीटर रहित कन्स्ट्रक्टर शैतान हैं। मैं इसके साथ कुछ हद तक सहमत हूं, लेकिन मुझे यह भी लगता है कि यह कक्षा के उद्देश्य पर निर्भर करता है।

2

जैसा कि किल्फोफर ने कहा, यह इस बात पर निर्भर करता है कि आप कक्षा के साथ क्या करने की कोशिश कर रहे हैं। वास्तव में संपत्तियों को शुरू किए बिना आप किस परिस्थिति में कक्षा को नए-अप करना चाहते हैं? यदि आपके पास ऐसे उदाहरण विधियां हैं जिन्हें आप कॉल करना चाहते हैं, जिनके लिए किसी भी डेटा की आवश्यकता नहीं है, तो आप या तो उन तरीकों को स्थिर मान सकते हैं या तरीकों को एक अलग वर्ग में ले जा सकते हैं। यह भी संभव है कि आपकी कक्षा में एक अतिरिक्त वैध राज्य है - पूरी तरह से खाली।

व्यक्तिगत रूप से, मैं संयम में सबकुछ में विश्वास करता हूं। यदि पीआईटीए कारक अधिक है और आप निश्चित रूप से सुनिश्चित हैं कि आप समस्याओं में भाग नहीं ले रहे हैं, तो ऐसा लगता है कि पैरामीटर रहित कन्स्ट्रक्टर ठीक होंगे। किसी बिंदु पर मुझे लगता है कि यह राय का विषय बन जाता है।

0

यह सब इस बात पर निर्भर करता है कि निर्माता कौन कहता है। यदि केवल आपके कारखाने करते हैं, तो वास्तव में कोई समस्या नहीं है, क्योंकि आपके कारखाने के तरीके "डोमेन-साइड" कन्स्ट्रक्टर बन जाते हैं और वास्तविक निर्माता एक कार्यान्वयन विवरण होते हैं।

संबंधित मुद्दे