Refactorizando código

29/03/2007 - 10:56 por AE | Informe spam
Hola a todos,

tengo una serie de métodos (3 o 4 métodos de momento) que siguen esta
estructura:

...
if (listaProvincias.TieneElementos)
{
listaTipoVal = dal.ObtenerCodigosTipoValUsuario();

listaTareaWF = dal.LLAMADA_METODOXXX(
listaProvincias, listaTipoVal);
}
else if (listaEntidadBancaria.TieneElementos)
{
listaTipoVal = dal.ObtenerCodigosTipoValUsuario();

listaTareaWF = dal.LLAMADA_METODOXXX(
listaEntidadBancaria, listaTipoVal);
}


Lo único que cambia es la llamada a un método de una clase dal, que indico
como dal.LLAMADA_METODOXXX, que en cada uno métodos va a ser distinto el
nombre, pero el número y tipo de parámetros será el mismo, por ejemplo:
dal.MetodoA(..)
dal.MetodoB(..)

El caso que el comportamiento se repite en cada método , sólo cambia la
llamada ese método dal.LLAMADA_METODOXXX.

Existe alguna manera de refactorizar ese código y de reutilizar el código ??
Sobre todo si existe alguna manera que no penalice el rendimiento, por lo
tanto descarto reflexión, no?.


Saludos y gracias.
 

Leer las respuestas

#1 carlosmsr
29/03/2007 - 15:58 | Informe spam
Si entiendo bien tu pregunta se me ocurre que podrías convertir las llamadas:

dal.MetodoA(..)
dal.MetodoB(..)

en

dal.Metodo(A,...)
dal.Metodo(B,...)




"AE" wrote:

Hola a todos,

tengo una serie de métodos (3 o 4 métodos de momento) que siguen esta
estructura:

...
if (listaProvincias.TieneElementos)
{
listaTipoVal = dal.ObtenerCodigosTipoValUsuario();

listaTareaWF = dal.LLAMADA_METODOXXX(
listaProvincias, listaTipoVal);
}
else if (listaEntidadBancaria.TieneElementos)
{
listaTipoVal = dal.ObtenerCodigosTipoValUsuario();

listaTareaWF = dal.LLAMADA_METODOXXX(
listaEntidadBancaria, listaTipoVal);
}


Lo único que cambia es la llamada a un método de una clase dal, que indico
como dal.LLAMADA_METODOXXX, que en cada uno métodos va a ser distinto el
nombre, pero el número y tipo de parámetros será el mismo, por ejemplo:
dal.MetodoA(..)
dal.MetodoB(..)

El caso que el comportamiento se repite en cada método , sólo cambia la
llamada ese método dal.LLAMADA_METODOXXX.

Existe alguna manera de refactorizar ese código y de reutilizar el código ??
Sobre todo si existe alguna manera que no penalice el rendimiento, por lo
tanto descarto reflexión, no?.


Saludos y gracias.

Preguntas similares