Ho usato il modello di creazione del metodo di fabbrica per un po 'di tempo. Mi è stato recentemente detto che questo:Questo modello di creazione del metodo di fabbrica è?
public static class ScheduleTypeFactory
{
public static IScheduleItem GetScheduleItem(ScheduleTypeEnum scheduleType)
{
IScheduleItem scheduleItem = null;
switch (scheduleType)
{
case ScheduleTypeEnum.CableOnDemandScheduleTypeID:
{
scheduleItem = new VODScheduleItem();
break;
}
case ScheduleTypeEnum.BroadbandScheduleTypeID:
{
scheduleItem = new VODScheduleItem();
break;
}
case ScheduleTypeEnum.LinearCableScheduleTypeID:
{
scheduleItem = new LinearScheduleItem();
break;
}
case ScheduleTypeEnum.MobileLinearScheduleTypeID:
{
scheduleItem = new LinearScheduleItem();
break;
}
}
return scheduleItem;
}
}
non è un modello di creazione metodo factory per il mio vantaggio "Tech" senza dirmi perché o mi dà la sua interpretazione. Ho gentilmente chiesto una spiegazione e lei mi ha detto che non aveva tempo. Mi è stato detto di ribattezzarlo. Se sbaglio, allora accetterò senza dubbio di averlo implementato in modo errato per anni. È così che TU implementeresti il modello di creazione del metodo di produzione? Grazie in anticipo.
Si tratta di una fabbrica anche se molto semplice. Di solito la fabbrica viene utilizzata per incapsulare la logica decisionale complessa e nel tuo caso la logica decisionale è semplicemente la ricerca di enum. –
il modello di fabbrica serve a nascondere la complessità. cercare un enum è semplice, ma quando lo faccio una volta, invece di 10 volte il client, preferirei. ma vorrei iniziare a rifattorizzare il metodo. ci sono molte linee che possono essere cancellate. – cRichter
È un metodo di fabbrica statico. Fare riferimento a: http://stackoverflow.com/questions/929021/what-are-static-factory-methods –