यह मेरे जावास्क्रिप्ट कोड की संरचना के बारे में एक सामान्य प्रश्न है और यदि मैं अच्छी तरह से संरचित कोड की दिशा में सही दिशा में जा रहा हूं।जावास्क्रिप्ट आर्किटेक्चर - मध्यस्थ, उनका उपयोग कब करें?
वर्तमान कोड मुझे मिल गया है:
(function (myNamespace, $, undefined) {
myNamespace.className = {
init:function { } // do stuff
}
} (window.myNamespace= window.myNamespace|| {}, jQuery)));
(function (myNamespace, $, undefined) {
myNamespace.className2 = {
init:function { } // do stuff
}
} (window.myNamespace= window.myNamespace|| {}, jQuery)));
ऊपर कोड के साथ जाहिर है, मैं एक ही नाम स्थान का उपयोग कर सकते हैं (प्रति पृष्ठ/साइट अनुभाग के रूप में) और myNamespace.className.init()
के माध्यम से उन्हें फोन आदि मैं भी गठजोड़ कर सकते हैं अगर मैं चाहता हूं, लेकिन मैं पठनीयता के लिए कक्षाओं को encapsulating हूँ।
अब, मैं मध्यस्थों की अवधारणा के बारे में http://addyosmani.com/largescalejavascript/ पढ़ रहा हूं। मेरा द्वितीयक सवाल यह है कि (और यदि) मुझे इनका उपयोग करना चाहिए? className2 से स्पष्ट रूप से मैं कर सकते हैं:
myNamespace.className2 = {
init:function { myNamespace.className.init() } // do stuff
}
तो क्यों यह कभी className को mediator.subscribe("classNameInit")
की तरह सदस्यता लें और className में है कि घटना प्रकाशित होगा?
मैं अपने कोड की संरचना के बारे में सुझावों के लिए बेहद खुला हूं क्योंकि यह कुछ है जो मुझे सही होने की आवश्यकता है, जबकि मैं अपनी जावास्क्रिप्ट लिखने के तरीके को बदल रहा हूं।
_ मध्यस्थ पैटर्न के साथ, वस्तुओं के बीच संचार मध्यस्थ वस्तु के साथ encapsulated है। ऑब्जेक्ट्स अब एक दूसरे के साथ सीधे संवाद नहीं करते हैं, बल्कि मध्यस्थ के माध्यम से संवाद करते हैं। यह संचार वस्तुओं के बीच निर्भरता को कम करता है, जिससे coupling._ (सी) [विकी] (http: //en.wikipedia।संगठन/विकी/Mediator_pattern) – c69
मैंने अपने सिर को उसके चारों ओर लाने की कोशिश की है और कारण नहीं दिख रहा है कि मैं अब क्या कर रहा हूं इसके बजाए ऐसा करने से बेहतर होगा? मैंने कोई असली दुनिया उदाहरण नहीं देखा है जो इसे एक उपयोगी चीज़ साबित करता है। –
एक बार आपके पास बहुत सारे मॉड्यूल होंगे जो एक दूसरे के साथ संवाद करना चाहते हैं - आप देखेंगे कि कड़ी मेहनत के पैमाने कितनी बुरी तरह से हैं। – c69