Entonces, un colega me presentó el patrón de publicación / suscripción (en JS / jQuery), pero me está costando entender por qué uno usaría este patrón sobre JavaScript / jQuery 'normal'.
Por ejemplo, anteriormente tenía el siguiente código ...
$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();
}
});
Y pude ver el mérito de hacer esto en su lugar, por ejemplo ...
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'));
});
Porque introduce la capacidad de reutilizar la removeOrder
funcionalidad para diferentes eventos, etc.
Pero, ¿por qué decidiría implementar el patrón de publicación / suscripción e ir a las siguientes longitudes, si hace lo mismo? (Para su información, usé 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'));
});
He leído sobre el patrón con seguridad, pero no puedo imaginar por qué esto sería necesario. Los tutoriales que he visto que explican cómo implementar este patrón solo cubren ejemplos tan básicos como el mío.
Imagino que la utilidad del pub / sub se haría evidente en una aplicación más compleja, pero no puedo imaginarme una. Me temo que me estoy equivocando por completo; ¡pero me gustaría saber el punto si hay uno!
¿Podría explicar brevemente por qué y en qué situaciones este patrón es ventajoso? ¿Vale la pena usar el patrón pub / sub para fragmentos de código como mis ejemplos anteriores?