jQuery è altamente focalizzato sul DOM e fornisce una bella astrazione attorno ad esso. In tal modo, fa uso di vari ben noti che mi ha colpito ieri. Un esempio ovvio potrebbe essere il modello Decorator. L'oggetto jQuery fornisce funzionalità nuove e aggiuntive attorno ad un normale oggetto DOM.Modelli di progettazione utilizzati nella libreria jQuery
Ad esempio, il DOM ha un metodo nativo insertBefore ma non esiste un metodo insertAfter corrispondente. Ci sono varie implementazioni available per colmare questa lacuna, e jQuery è una tale libreria che fornisce questa funzionalità:
$(selector).after(..)
$(selector).insertAfter(..)
Ci sono molti altri esempi del motivo decoratore essendo molto utilizzati in jQuery.
Quali altri esempi, grandi o piccoli, di modelli di progettazione hai notato che fanno parte della libreria stessa? Inoltre, si prega di fornire un esempio dell'uso del modello.
Rendere questo un wiki della comunità come credo che le varie cose che la gente ama di jQuery possono essere ricondotte a modelli di design ben noti, solo che non sono comunemente indicati con il nome del modello. Non esiste una risposta a questa domanda, ma la catalogazione di questi modelli fornirà una utile visione della biblioteca stessa.
bel lavoro lì :) .. Penso che il pattern di facciata per '$ .ajax 'assomigli al modello [Template method] (http://en.wikipedia.org/wiki/Template_method_pattern) dato che abbiamo la funzionalità di base e ogni metodo aggiuntivo come '$ .get' sostituisce la base e lo rende più specifico. – Anurag
Sì, un sacco di metodi jQuery e in effetti JavaScript in generale possono soddisfare una miriade di modelli di progettazione contemporaneamente. È un primo esempio della potenza espressiva di JavaScript in generale e di come la programmazione funzionale possa integrare la programmazione orientata agli oggetti. =) – BGerrissen