2009-05-21 9 views
12

मैं एक नई नई परियोजना शुरू कर रहा हूं - क्या मुझे अपने spec को देखना चाहिए और तय करना चाहिए कि कौन से डिज़ाइन पैटर्न लागू होते हैं, या बस संगठन के सामान्य विचार के साथ आते हैं और पैटर्न को रिफैक्टरिंग के माध्यम से व्यवस्थित रूप से उभरने की अनुमति देते हैं?पहले क्या होना चाहिए - डिज़ाइन पैटर्न या कोड?

आपके अनुभव में, कौन सी तकनीक सबसे अधिक उत्पादक होगी और साफ-सुथरे कोड को साफ करने का एक बड़ा मौका होगा?

मैं यह भी सोच रहा हूं कि वहां डिज़ाइन पैटर्न हैं जो गोफ द्वारा परिभाषित नहीं हैं, लेकिन यह उतना ही मूल्यवान हो सकता है? यदि हां, तो इनके बारे में खुद को सूचित करने के लिए कुछ उपयोगी संसाधन क्या हैं?

उत्तर

18

आपको अपने कोड को व्यवस्थित रूप से बढ़ाना चाहिए, पैटर्न को लागू करने के रूप में लागू करना चाहिए। बहुत जल्दी पैटर्न के साथ मिलान करने से बहुत सारे अनुचित कोड और अमूर्तता की इतनी सारी परतें हो सकती हैं कि डिज़ाइन खराब हो जाता है। किसी भी कोड आप देखा है कि पहली बार ;-)

3
  1. चित्रा बाहर उपयोग के मामलों के लिए सही के बाद किसी की खोज की थी पैटर्न लिखा गया था गवाह।
  2. डिजाइन के बारे में सोचें मौजूदा डिजाइन पैटर्न में देख रहे हैं।
  3. लागू करने के लिए प्रारंभ करें।

मुझे विश्वास है कि यहां मुख्य लक्ष्य पहिया को पुनर्निर्मित करने से बचने के लिए है।

पी एस। के बाद आप कई बार के लिए चरण 2 पास भेज देंगे और इसकी आदत हो, तो आप कदम 3.

6

में उस चरण को एकीकृत करने की जब तक एक पैटर्न स्पष्ट रूप से कल्पना से बाहर कूद करने लगता है में सक्षम हो जाएगा, मैं जरूरी कोशिश नहीं गोफ से कुछ लेने के लिए और समस्या को हथौड़ा जब तक यह पैटर्न फिट बैठता है।

अपने सिर में अमूर्तता के विभिन्न स्तरों को अवधारणात्मक रूप से समझना बेहतर है और आप इसे कैसे कार्यान्वित करेंगे इसके लिए एक योजना (आवश्यक रूप से एक लोकप्रिय डिजाइन पैटर्न नहीं) के साथ आना बेहतर है। यह कुछ ऐसा है जो आप अनुभव के साथ बेहतर हो जाएंगे। गोफ पैटर्न को जानने के दौरान कोड डिज़ाइन के मामले में समस्याओं के बारे में सोचने की आपकी क्षमता में सुधार करने में मदद मिलेगी, वे हर समस्या के समाधान के लिए नहीं हैं, और कृत्रिम रूप से आपकी समस्या को डिजाइन पैटर्न में फ़िट करने के लिए मजबूर कर सकते हैं, इसका मतलब अनावश्यक जटिलता और अपवित्रता हो सकता है।

0

आपको यह समझना चाहिए कि कोडिंग शुरू करने से पहले आपको कौन से पैटर्न समस्या के अनुरूप होंगे। यदि नहीं, तो प्रोटोटाइप बनाएं ताकि आप समझ सकें कि आप क्या हासिल करना चाहते हैं। फिर पैटर्न की तलाश करें और प्रोटोटाइप (और अच्छी बिट्स का पुन: उपयोग करें) को फेंक दें।

2

यदि मुझे कभी भी अनिश्चितता है तो मैं सिर्फ कोड लिखना शुरू करता हूं। बहुत लंबे समय से पहले, संरचना कुछ रिफैक्टरिंग के लिए विनती करना शुरू कर देगी और पसंद लगभग हमेशा स्पष्ट है।

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

मैं भी एक कार्यक्रम के हिस्सों को जलाने और पुनर्निर्माण करने से डरता नहीं हूं। स्कॉट एडम्स से मुझे बहुत कुछ पसंद है - "रचनात्मकता स्वयं को गलतियों को करने की इजाजत दे रही है; कला जानती है कि कौन से लोगों को रखना है।" कभी-कभी सही उत्तर स्पष्ट नहीं होता है जब तक आप इसे गलत तरीके से नहीं आते।

0

पहले से ही अच्छी सलाह यहां दी गई है। GoF पुस्तक के अलावा उपयोगी पैटर्न के बारे में प्रश्न का उत्तर देने के लिए। वहां, आपको लार्मन के यूएमएल और पैटर्न को लागू करना चाहिए जहां उन्होंने GRASP पैटर्न का वर्णन किया है।

1

मैं आपके कोडिंग को पैटर्न के उपयोग के आधार पर बहुत अधिक कोडिंग से दूर रहूंगा। केवल सरल कोड बनाना बेहतर है और जब refactor towards a design pattern की आवश्यकता होती है जो तब आपकी आवश्यकताओं को सर्वोत्तम रूप से कैप्चर करती है।

1

आपको अपने कोड को व्यवस्थित रूप से विकसित करना चाहिए, पैटर्न को लागू करने के रूप में लागू करना चाहिए।

सेकेंडेड! मैंने देखा है कि कुछ सबसे खराब स्पेगेटी ओओ सी ++ बहुत सारे पैटर्न के साथ है। फ्लक्सबॉक्स मुश्किल से सहनशील है; सिनर्जी (v2) फोड़ा, broils और मेरे नूडल :(

और सबसे सुंदर कोड मैंने देखा है में से कुछ bakes OO सी, जहां OO दो इंटरफेस के साथ साथ 4 और 20 कार्यान्वयन, क्रमशः था।

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

  • कोई संबंधित समस्या नहीं^_^