posts - 644, comments - 2003, trackbacks - 137

My Links

News

Raffaele Rialdi website

Su questo sito si trovano i miei articoli, esempi, snippet, tools, etc.

Archives

Post Categories

Image Galleries

Blogs

Links

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 12:12 |

Comments have been closed on this topic.

Powered by:
Powered By Subtext Powered By ASP.NET