Comprendere la definizione e la filosofia di Ajax

Tha scopo di questo articolo è di fornire soluzioni ad alcuni comuni, problemi generali e le domande che sono tenuti a presentarsi prima o durante lo sviluppo di Asynchronous JavaScript e XML (AJAX) e Representational State Transfer (REST) applicazioni. Queste domande più frequenti non sono sempre di natura tecnica, spesso più orientate verso la teoria o la filosofia di sviluppo. Il problema con questo tipo di domande è che una volta che si inizia a pensare a loro, è andare avanti in un cerchio e alla fine da dove siete partiti. Il trucco per cercare di capire le risposte non è quello di continuare in un cerchio, ma di restare con le ipotesi e prendere una decisione.

  

Comprendere la definizione e la filosofia di Ajax

Jesse James Garrett Adaptive Path ha coniato il definition1 originale di Ajax. Citando la definizione originale, Ajax incorpora le seguenti caratteristiche:

• standard-presentazione basata usando Extensible Hypertext Markup Language (XHTML) e Cascading Style Sheets (CSS)

• display dinamico e interazione tramite il Document Object Model (DOM)

• l'interscambio di dati e manipolazione usando Extensible Markup Language (XML) e Extensible Stylesheet Language Transformations (XSLT)

• il recupero di dati asincroni utilizzando XMLHttpRequest

• JavaScript per legare il tutto in poche parole, l'Ajax è uno stile di sviluppo Web che richiede un browser AWeb. L'interfaccia utente del browser Web è dinamicamente modificati utilizzando un linguaggio di programmazione che recupera dati solo quando necessario, piuttosto che l'approccio tradizionale di aggiornare la pagina intera ogni volta che viene effettuata una richiesta. Voglio evidenziare i termini dinamicamente e solo quando necessario, Perché questi termini sono l'essenza di Ajax. Ajax e JavaScript sono esempi di duck digitando2 e latente tipo di programmazione.

Duck-digitato programmazione è sulla scrittura di codice in cui la definizione delle classi non è noto in anticipo, ma si sa che l'oggetto ha un comportamento specifico. Riutilizzo è reso possibile dalla clonazione e l'assemblaggio degli oggetti dinamicamente a runtime. Classica la programmazione object-oriented è su come definire il comportamento del tipo prima dell'esecuzione. Il seguente codice sorgente è un esempio per il Dynamic HTML (DHTML) e l'applicazione JavaScript che illustra l'essenza della duck-digitato programmazione. Fonte: / website / ROOT / gettingstarted / PrototypeBased.html

 Prototipo basato su programmazione Variation1 obj.runIt =;  RunVariation () "/>Variation2 obj.runIt =; RunVariation () "/> 
Ancora niente

In questo esempio, i segmenti di codice in grassetto illustrare l'anatra-digitato costrutti di programmazione. Quando il browser carica Web il codice, che verrà analizzato da cima a fondo. Quando il codice è stato analizzato, i seguenti tipi e istanze di oggetti saranno attivi:

• Definizione delle funzioni Variation1, Variation2, e RunVariation

• creazione di istanze e di definizione della variabile obj, che fa riferimento a una istanza plain vanilla Object

• Definizione di due pulsanti (Variante 1 e Variante 2) che si eseguono alcuni JavaScript quando si fa clic

• Definizione di un elemento HTML DIV che ha l'uscita identificativo del chiamante RunVariation funzione genera un'eccezione, perché obj è un esempio semplice oggetto di vaniglia e non ha alcuna implementazione del metodo per RunIt. Un linguaggio classico di programmazione come Java, C # o C + + non è in grado di compilare il codice JavaScript, perché la RunVariation funzione esegue un metodo su un tipo che non è definito a possedere il metodo. Quando un metodo di oggetto si chiama, come nel codice sorgente, è chiamata digitando latente. Digitando latente è l'identificazione del tipo associato a una variabile durante il runtime dell'applicazione. Nel caso dell'esempio di codice sorgente, che significa l'esatto comportamento di obj non è noto fino a quando l'applicazione viene eseguita. Quindi, RunVariation può o non può funzionare. Nel codice di esempio, quando i pulsanti di input vengono premuti, la obj.runIt proprietà viene assegnato a uno Variation1 o Variation2. Dopo che la proprietà è stata assegnata, i pulsanti di input RunVariation chiamare la funzione, che a sua volta chiama la obj.runIt proprietà. Come la proprietà ha un valore assegnato, il Variation1 funzione o Variation2 si chiama. L'assegnazione della proprietà di una funzione è l'essenza di anatra tipizzato di programmazione. Ciò solleva la questione, se un linguaggio di programmazione che utilizza tecniche di programmazione latente, questo implica duck-typed di programmazione? E se non lo fa, quali sono le differenze? Se un linguaggio di programmazione che supporta la digitazione latente, non implica duck-digitato programmazione. Ma se un linguaggio di programmazione che supporta duck-digitato di programmazione, si deve sostenere digitando latente. C + + è un ottimo esempio di un linguaggio che supporta i tipi latente, ma non supporta digitando anatra. Il seguente codice illustra digitando latente:

LatentTypeCaller classe <T> (public void CallIt (T t) (t.LatentDefinedMethod ();))

Nel codice di esempio, T è un tipo che appartiene a un template C + +. Per l'attuazione del CallIt, il t.LatentDefinedMethod metodo viene chiamato. Dal codice sorgente, il tipo di T non è evidente, ma qualunque cosa sia, il metodo LatentDefinedMethod deve essere sostenuta. C + + non supporta la digitazione di anatra, perché T non può avere il metodo LatentDefinedMethod assegnati dinamicamente. Con l'inserimento del modello di funzionalità di tipo in. NET 2.0 e Java 5.0 chiamati generici, si potrebbe essere tentati di credere che digitando generici latente di sostegno.

Il codice come scritto in C + + non è possibile in entrambi. NET o Java, come i compilatori si lamentano i tipi di circa costretti. Per sbarazzarsi degli errori del compilatore in C # o Java, è necessario limitare T per un tipo che supporta il metodo LatentDefinedMethod. Un argomento comune contro l'anatra tipizzate di programmazione e digitando latente è che non sai quello che il codice farà fino a quando eseguirlo. Al contrario, il C + +,. NET, e ambienti di programmazione Java, che richiedono una definizione esplicita o digitando statico dei tipi, per rendere il codice stabile e robusto. Almeno, questo è l'argomento promossa da parte di individui che sostengono tipizzazione statica. Tipizzazione statica assicura che un programma si compila e si adatta insieme, ma non garantisce che il programma fa quello che ci si aspetta. Si consideri il seguente codice, che illustra come digitare statici possono essere ingannati:

classe Math (public long add (lungo valore1, valore2 lungo) (return value1 - valore2;))

un articolo presentato da Sonja Lande


Disclaimer:Il nostro sito non è responsabile per il contenuto di questo articolo. Webarticles è una risorsa gratuita di informazioni.
Importante: Questo articolo "Capire la definizione e la filosofia di Ajax" è stato tradotto da un software automatico. Ci dispiace per eventuali errori di ortografia che possono essersi verificati. Grazie per la vostra comprensione.


Online: 266 users browsing the articles directory