Ho una classe helper che ha un metodo che esegue alcuni controlli su un campo in un modello. Ho due modelli, ModelA e ModelB , hanno alcune somiglianze ma non tutte. Uno di questi è che entrambi hanno un campo, diciamo stringa ProductCheckField . ProductCheckMethod restituisce il Modello , a causa di ciò ha creato la duplicazione di metodi che fa la stessa cosa ma restituisce un modello diverso. Anche i metodi estratti sono duplicati. Esiste un buon modello di progettazione o qualsiasi altra buona pratica / tecnica che posso usare per eliminare la duplicazione di dover creare due metodi?
N.B Non riesco a utilizzare un'interfaccia condivisa poiché i modelli non sono uguali.
Attualmente ho ..
public class ModelA
string blah..
int blah
.....
string ProductCheckField
public class ModelB
string xyz
int xyz
.....
string ProductCheckField
public class HelperClass
{
public ModelA ProductCheckMethod(ModelA model)
{
/// do somthing
performX(model);
checkY(model);
return model;
}
public ModelB ProductCheckMethod(ModelB model)
{
/// do somthing
performXDuplicate(model);
checkYDuplicate(model);
return model;
}
}