Quindi, un collega mi ha presentato il modello di pubblicazione / sottoscrizione (in JS / jQuery), ma ho difficoltà a capire perché si dovrebbe utilizzare questo modello su JavaScript / jQuery "normale".
Ad esempio, in precedenza avevo il seguente codice ...
$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();
}
});
E potrei vedere il merito di farlo invece, per esempio ...
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'));
});
Perché introduce la possibilità di riutilizzare la removeOrder
funzionalità per diversi eventi, ecc.
Ma perché decidi di implementare il modello di pubblicazione / sottoscrizione e passare alle seguenti lunghezze, se fa la stessa cosa? (Cordiali saluti, ho usato jQuery tiny pub / sub )
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'));
});
Ho letto di sicuro lo schema, ma non riesco a immaginare perché questo sarebbe mai stato necessario. I tutorial che ho visto che spiegano come implementare questo modello coprono solo esempi di base come il mio.
Immagino che l'utilità del pub / sub si manifesterebbe in un'applicazione più complessa, ma non riesco a immaginarne una. Ho paura di perdere completamente il punto; ma mi piacerebbe sapere il punto se ce n'è uno!
Potreste spiegare succintamente perché e in quali situazioni questo schema è vantaggioso? Vale la pena utilizzare il modello pub / sub per frammenti di codice come i miei esempi sopra?