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