Protocollo Metaobject: perché è conosciuto come un concetto importante

5

Il protocollo Metaobject è un protocollo per i metaoggetti in un linguaggio di programmazione. Anche se lo capisco in termini semplici, voglio conoscere la ragione e un riassunto dei modelli di utilizzo del mondo reale di questo protocollo. Quindi, perché è esattamente il metaoggetto e, cosa più importante, il protocollo metaobject è una buona idea. Voglio conoscere il problema che ha portato alla sua evoluzione e anche il suo elevato consumo energetico. Sono inoltre ben accetti pareri nonché una panoramica generale / descrizione / spiegazioni alternative.

    
posta sushant 25.04.2011 - 19:28
fonte

3 risposte

2

I protocolli dei meta-oggetti sono molto buoni per separare i client dai server.

  • I servizi Web utilizzano WSDL
  • OSGI ne fa parte (ma AFAIK manca di molti strumenti di introspezione)
  • JINI (basato su Java) su reti regolari (abbastanza silenziosamente popolari nello spazio di difesa)

Alcuni sistemi di controllo su cui ho lavorato ho aggiunto protocolli meta-oggetto e ha funzionato molto bene. Lo scambio di messaggi è come questo ....

  • Gentile server, che cosa fai?
  • Gentile cliente, ho i seguenti comandi .....
  • Gentile server, quali dati pubblichi?
  • Gentile cliente, ho le seguenti notifiche sottoscrivibili .....
  • Gentile server, mi dica di più su "Paint fence"
  • Gentile cliente, Paint fence prende un numero intero, numero di robot da utilizzare.
  • Gentile server, per favore dammi un file di aiuto sul comando "paint fence
  • Gentile cliente, ecco un file di aiuto
  • Gentile server, iscrivimi a "coordinate n. 1 robot"
  • Gentile server, iscriviti a "robot .. coordinate"
  • Gentile server, iscrivimi a "coordinate n. robot 42"

  • Gentile server, esegui paint fence, 42

  • Gentile cliente, l'ID di completamento dei comandi è 11.
  • Gentile cliente, il robot n. 1 coordina il nuovo valore 123.3434,34.232312,55.222312

Quindi il sovraccarico dei messaggi che utilizzi per le attività reali è basso perché possono anche essere un binario compatto e il server è auto-documentante per gli integratori.

Consente l'integrazione con estrema facilità.

Permette anche di estendere il server molto facilmente SE puoi aggiungere roba al server usando il meta-protocollo. Inizia ad assomigliare ad AOP

  • Gentile server, aggiungi il comando delegato FOO (nessuna discussione, "fa pippo")
  • Gentile cliente, sei il delegato FOO.

  • Caro server, sostituisci il valore per la temperatura esterna, il nuovo valore 3.5 Così ora tutti i consumatori ottengono il valore fornito esternamente. Funziona meglio se puoi fare domande come questa ..

  • Gentile server, ottieni il valore di controllo per la temperatura esterna

  • Gentile Cliente, temperatura esterna impostata su sorgente esterna, nome host SMART_TEMP_SENSOR
risposta data 29.06.2011 - 04:12
fonte
1

La libreria Perl Moose utilizza il MOP per consentire un grande ecosistema di estensioni per funzionare senza intoppi. Permette anche l'introspezione e la riflessione, ad esempio la generazione di un modulo Web fornendo un oggetto. Il reflector dovrebbe esaminare la classe, prendere (ad esempio) i suoi attributi o attributi che implementano un comportamento specifico e generare campi di moduli a seconda degli attributi e dei loro tipi.

Ovviamente ci sono molte altre implementazioni e casi d'uso per il MOP, Moose è solo quello che uso più frequentemente.

    
risposta data 25.04.2011 - 19:59
fonte
1

Un modo di pensare su un protocollo meta-oggetto è che è come una programmazione orientata all'aspetto. AOP è davvero uscito dal MOP, ma lo ha esteso con i point-cuts (e probabilmente altre cose).

Quindi, le cose su cui l'AOP è buono, mi aspetterei che il MOP fosse buono. L'esempio classico è, ovviamente, la profilazione. Vuoi prendere un programma esistente e modificarlo per es. registra ogni metodo che viene invocato. Con MOP si potrebbe fare con questo una specie di oggetto proxy che intercetta i messaggi, registra i dati del profilo e passa il controllo al gestore del messaggio originale.

    
risposta data 28.06.2011 - 22:57
fonte

Leggi altre domande sui tag