Cuando se trabaja con MVVM y Prisma me encuentro haciendo una gran cantidad de fundición, como la mayoría de los parámetros son interfaces¿Cuál es el costo de los parámetros de colada
Ex
public void AddCrSubSystemsToPlant(IPlantItem plantItm, CRArticleItem crItm)
{
OSiteSubSystem itm = (OSiteSubSystem)crItm;
itm.PartData.Order = ((OSiteEquipment)plantItm).SubSystems.Count() + 1;
((OSiteEquipment)plantItm).SubSystems.Add(itm);
}
o
public void DeletePart(IPlantItem plantItem)
{
IEnumerable<IPlantItem> itmParent = GetParentPartByObjectId(_siteDocument, plantItem);
if (plantItem is OSiteEquipment)
((ObservableCollection<OSiteEquipment>)itmParent).Remove((OSiteEquipment)plantItem);
if (plantItem is OSiteSubSystem)
((ObservableCollection<OSiteSubSystem>)itmParent).Remove((OSiteSubSystem)plantItem);
if (plantItem is OSiteComponent)
((ObservableCollection<OSiteComponent>)itmParent).Remove((OSiteComponent)plantItem);
}
Mi La pregunta es, ¿cuál es el costo involucrado? ¿Son estas operaciones costosas para la memoria o la CPU, en caso de que se eviten?
¿Alguna opinión?
¿Por qué necesita todos estos moldes? ¿Sus interfaces no exponen las operaciones requeridas? ¿Si no, porque no? – Oded
Probablemente podrías simular algunos casos de prueba con y sin casting y medir el rendimiento. No creo que ningún elenco individual tenga mucho éxito, pero depende de la frecuencia con que lo hagas. –
Consulte esta respuesta relacionada: http://stackoverflow.com/a/9366456/414076 –