इसलिए, एक सहकर्मी ने मुझे प्रकाशित / सदस्यता पैटर्न (JS / jQuery में) के लिए पेश किया, लेकिन मुझे एक कठिन समय मिल रहा है कि कोई इस पैटर्न का उपयोग 'सामान्य' जावास्क्रिप्ट / jQuery से अधिक क्यों करेगा।
उदाहरण के लिए, पहले मेरे पास निम्नलिखित कोड था ...
$container.on('click', '.remove_order', function(event) {
event.preventDefault();
var orders = $(this).parents('form:first').find('div.order');
if (orders.length > 2) {
orders.last().remove();
}
});
और मैं इसके बजाय ऐसा करने की योग्यता देख सकता था, उदाहरण के लिए ...
removeOrder = function(orders) {
if (orders.length > 2) {
orders.last().remove();
}
}
$container.on('click', '.remove_order', function(event) {
event.preventDefault();
removeOrder($(this).parents('form:first').find('div.order'));
});
क्योंकि यह removeOrder
विभिन्न घटनाओं आदि के लिए कार्यक्षमता को फिर से उपयोग करने की क्षमता का परिचय देता है ।
लेकिन आप प्रकाशित / सदस्यता पैटर्न को लागू करने और निम्नलिखित लंबाई पर जाने का निर्णय क्यों करेंगे, अगर यह एक ही बात करता है? (FYI करें, मैंने jQuery छोटे पब / उप का उपयोग किया )
removeOrder = function(e, orders) {
if (orders.length > 2) {
orders.last().remove();
}
}
$.subscribe('iquery/action/remove-order', removeOrder);
$container.on('click', '.remove_order', function(event) {
event.preventDefault();
$.publish('iquery/action/remove-order', $(this).parents('form:first').find('div.order'));
});
मैंने निश्चित रूप से पैटर्न के बारे में पढ़ा है, लेकिन मैं अभी कल्पना नहीं कर सकता कि यह कभी क्यों आवश्यक होगा। मैंने जो ट्यूटोरियल देखे हैं, वे बताते हैं कि इस पैटर्न को कैसे लागू किया जाए, केवल मूल उदाहरणों को ही कवर करें।
मुझे लगता है कि पब / उप की उपयोगिता एक अधिक जटिल अनुप्रयोग में खुद को स्पष्ट कर देगी, लेकिन मैं एक कल्पना नहीं कर सकता। मुझे डर है कि मैं बिंदु को पूरी तरह से याद कर रहा हूं; लेकिन अगर एक है तो मैं यह जानना चाहूंगा!
क्या आप स्पष्ट रूप से समझा सकते हैं कि यह पैटर्न क्यों और किन स्थितियों में फायदेमंद है? क्या यह कोड स्निपेट के लिए पब / उप पैटर्न का उपयोग करने के लायक है, जैसे मेरे उदाहरण ऊपर?