[NOTA: Io lavoro su MonoDevelop, che utilizza Mono.Addins, ma ho discusso le differenze tra MEF e Mono.Addins ampiamente con Glenn isolato dalla squadra MEF scorsa settimana]
MEF si basa sulla composizione di codice , anche se le astrazioni sottostanti sono molto flessibili. Al contrario, Mono.Addins si basa su un albero di metadati, in cui è possibile inserire dati/metadati/codice in uno schema ricco della propria definizione, in modo che le estensioni possano aggiungere dati/metadati e codice.
Mono.Addins fornisce un sistema di gestione/imballaggio/repository/aggiornamento di componenti aggiuntivi pronto all'uso. Per MEF, a questo punto, dovresti costruire il tuo.
MEF ha una barriera leggermente inferiore all'ingresso e molto più lavoro di progettazione è stato dedicato alla sua usabilità e alle astrazioni sottostanti. Inoltre, fa parte di .NET 4, quindi avrà una comunità molto più ampia di utenti che lo sviluppano con/per esso.
A questo punto, se è necessario collegare dati/metadati e codice e si desidera un sistema di confezionamento già pronto, consigliamo Mono.Addins, altrimenti consiglierei MEF. Andando avanti, è probabile che le funzionalità di Mono.Addins saranno implementate su MEF, quindi probabilmente ci sarà un percorso di migrazione verso MEF.
fonte
2009-11-02 17:07:34
Grazie. È un inizio ... –