Voglio sviluppare una fabbrica di inotifications.
public interface INotification
{
string Text { get; }
string UserId { get; }
NotificationType NotificationType { get; }
}
Il problema è che NotificationFactory deve essere pronto per ottenere più tipi di input, perché? perché esistono più implementazioni di INotification e la factory dovrebbe essere in grado di restituire l'istanza di ciascuna di esse in base alla richiesta.
INotification not1= NotificationFactory.GetNotification<EmailNotification>(new Email("hi there"));
INotification not1= NotificationFactory.GetNotification<PackageNotification>(new Package("10$","book"));
INotification not2= NotificationFactory.GetNotification<XXXTypeNotification>(new XXXX);
Come vedete, avrebbe diversi tipi nei parametri di input (sono noti in fase di progettazione) Non vorrei creare un metodo per ogni tipo di notifica che la fabbrica è abilitata a creare ... Posso progettare quella fabbrica? Non ha bisogno di usare i generici, il codice che ho allegato serve solo a capire il problema.
Grazie mille !!