posts - 506, comments - 1705, trackbacks - 139

Extensibility con System.Addin

Dopo una breve introduzione dell'architect sulle problematiche deil'estensibilità di una applicazione, la parola passa a Jesse Kaplan, autore dell'articolo sugli AddIn su msdn magazine.

DSCN0821

Alla creazione del plugin e dell'host i primi problemi che sorgono, tipicamente sono:

  • Discovery
  • Activation
  • Isolation
  • Lifetime Management
  • Sandboxing
  • Unloading

Poi nelle versioni successive sorgono i problemi della compatibilità delle versioni precedenti e future.

DSCN0817   DSCN0818

Si parte dallo scenario Host, cioè una applicazione che vuole hostare degli addin di terze parti con sole tre righe di codice: Installlare l'AddIn, Cercarlo ed installarlo.

  • Install: AddInStore.Update(path);
  • Find: ILIst<AddInToken> tokens = AddInStore.FindAddins(...);
  • Activate: token.Activate(AddInSecurityLevel.Internet);

Viene quindi introdotta l'architettura che prevede le view sia per l'host che per l'AddIn, e altrettanti adapter per eliminare il problema del versioning. In pratica scrivendo solo un nuovo adapter, questa struttura permette di supportare versioni successive di AddIn senza dover toccare l'host.

La fantastica notizia è che a breve verrà rilasciato un tool che via reflection crea automaticamente tutti i layer di astrazione necessari a questa archiettura. Il tool funzionerà sia da command line che come plugin di Visual Studio.

Complimenti agli speaker per la chiarezza e la qualità della presentazione.

Print | posted on venerdì 9 novembre 2007 10.12 |

Feedback

No comments posted yet.

Post Comment

Title  
Name  
Email
Url
Comment   
Please add 3 and 6 and type the answer here:

Powered by: