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?