App shell usando MEF

2

Sto progettando una shell di app WPF usando MEF. Mi piacerebbe che l'app avvii una "vista" all'avvio. Vorrei anche che l'opzione di avere un altro componente aggiuntivo avesse un attributo "startup" e poi l'app lo avrebbe caricato. Ho creato un'interfaccia:

[InheritedExport]
public interface IStartupParams
{
    /// <summary>Gets or sets the WindowMode property.</summary>
    WindowMode WindowMode { get; set; }

    /// <summary>Gets or sets the NavigateUri property.</summary>
    string NavigateUri { get; set; }

    /// <summary>Gets or sets the Priority property.</summary>
    int Priority { get; set; }
}

Quindi l'applicazione carica più classi concrete IStartupParams e seleziona quella con la priorità più alta.

Che cosa ne pensi di questo design? Qualche idea?

    
posta Rick Ratayczak 22.10.2011 - 18:14
fonte

1 risposta

1

Dal momento che ti piace l'avvio di elementi della tua app da configurare, vorrei sicuramente spingere questi elementi di configurazione in una fonte esterna (appsettings). In questo modo sarai in grado di ripristinare l'avvio originale senza dover eseguire l'hardcode e sarà anche facile comprendere l'estensibilità e le priorità che stai descrivendo.

    
risposta data 23.10.2011 - 11:37
fonte

Leggi altre domande sui tag