2010-07-20 12 views
27

संभव डुप्लिकेट पता होना चाहिए:
What C++ idioms should C++ programmers use?प्रसिद्ध डिजाइन पैटर्न है कि एक सी ++ प्रोग्रामर

सी ++ प्राइमर, प्रभावी सी ++ और टीसी ++ मैं पी एल की तरह पुस्तकों को पढ़ने के बाद कुछ महत्वपूर्ण सीखना चाहते हैं डिजाइन पैटर्न्स।

तो, प्रत्येक सी ++ प्रोग्रामर को पता होना चाहिए कि प्रसिद्ध डिजाइन पैटर्न क्या हैं?

+6

किसी ने "असली सवाल नहीं" पर क्यों मतदान किया? एक्स- ( –

+2

प्रोग्रामिंग उत्साही के बहुत सारे पहले से ही एक ही प्रश्न पूछते हैं। –

+2

मेरा प्रश्न सी ++ विशिष्ट है, न केवल डिजाइन पैटर्न से संबंधित है ....मुझे लगता है कि उन्होंने 'नहीं पढ़ा' ... कि एक सी ++ प्रोग्रामर को पता होना चाहिए कि –

उत्तर

17

स्पष्ट उत्तर प्रसिद्ध पुस्तक से गैंग-ऑफ-चार पैटर्न है। ये वही पैटर्न हैं जो पूरे स्थान पर सूचीबद्ध होते हैं।

http://en.wikipedia.org/wiki/Design_Patterns

इसके अलावा, मार्टिन Fowlers वेब साइट के आसपास एक नजर है ...

http://martinfowler.com/

वहाँ पर एक निष्पक्ष बिट नहीं है - "प्रसिद्ध" एक शायद "निर्भरता इंजेक्शन" है । हालांकि, अधिकांश अन्य सुंदर डोमेन विशिष्ट हैं।

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

http://portal.acm.org/citation.cfm?id=505148

8
+4

यह मेरे प्रश्न का उत्तर नहीं देता है। –

+1

@Prasoon सौरव: हाँ, यह करता है। – greyfade

+0

मुझे अभी तक 'डिज़ाइन पैटर्न' पुस्तक का नाम नहीं चाहिए था। –

7

मैं Head First Design Patterns पढ़ने का सुझाव देता हूं। यह एक मजेदार पढ़ा है, और आप बहुत सारे सामान्य डिजाइन पैटर्न के बारे में जानेंगे।

+1

मुझे लगता है कि जावा डिजाइन पैटर्न के लिए किताब? –

+1

@kami: हाँ, कोड उदाहरण जावा में हैं, लेकिन पैटर्न सभी ओओ भाषाओं पर लागू होते हैं। –

7

किसी विशेष क्रम में, चार पैटर्न के गिरोह मैं & उपयोग देख सबसे शायद निम्नलिखित हैं:

  • कम्पोजिट
  • टेम्पलेट विधि
  • सार फैक्टरी
  • सिंगलटन (बहुत नफरत है, लेकिन हर जगह)
  • आगंतुक
  • बिल्डर
  • प्रॉक्सी
20

सी ++ - विशिष्ट लोगों को: आरए II और pimpl।

+0

यह कहना मुश्किल है कि इनमें से कौन सा सबसे महत्वपूर्ण है। पीआईएमपीएल अप्रत्यक्ष कॉल ओवरहेड के डर के कारण पर्याप्त रूप से उपयोग नहीं किया जाता है और ऑब्जेक्ट को ढेर के बजाय ढेर पर प्रभावी ढंग से मजबूर करता है। – Steve314

5

विचार पैटर्न। यह एक चांदी की गोली है।

+0

मैंने सोचा कि "रजत बुलेट" जादू समाधान थे जहां आपको सोचने की ज़रूरत नहीं है। विकास में उनमें से बहुत से नहीं। – Steve314

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