He estado usando el patrón de creación de métodos de fábrica por un tiempo. Me dijeron hace poco que esta:¿Es este patrón de creación de método de fábrica?
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;
}
}
no es un patrón de creación método de fábrica por mi ejemplo "Tech" sin decirme por qué o darme su interpretación. Le pedí amablemente una explicación y ella me dijo que no tenía tiempo. Me dijeron que simplemente cambie el nombre. Si estoy equivocado, sin duda aceptaré que lo he implementado de forma incorrecta durante años. ¿Es así como USTED implementaría el patrón de creación de métodos de fábrica? Gracias por adelantado.
Es una fábrica, aunque muy sencilla. Por lo general, la fábrica se usa para encapsular lógica de decisión compleja y, en su caso, la lógica de decisión es simplemente búsqueda enum. –
el patrón de fábrica es ocultar la complejidad. buscar una enumeración es simple, pero cuando lo hago una vez, en lugar de 10 veces el cliente, lo preferiría. pero comenzaría a refactorizar el método. hay muchas líneas que se pueden eliminar – cRichter
Es un método de fábrica estático. Consulte: http://stackoverflow.com/questions/929021/what-are-static-factory-methods –