¿Cuál sería el beneficio de una interfaz que implica una determinada implementación?
-
30-10-2019 - |
Pregunta
Estoy mirando esto:
public interface IAjaxCallbackEventHandler : ICallbackEventHandler
{
string CallbackResponse { get; set; }
}
}
Entonces las páginas implementan esta interfaz y terminan luciendo así:
public partial class XPage : Page, IAjaxCallbackEventHandler {
// public because it's an interface, but really an implementation detail ;-(
public string CallbackResponse { get; set; }
// implementing underlying ICallbackEventHandler interface
public void RaiseCallbackEvent(string eventArgument)
{
try
{
CallbackResponse = SomeOperation(eventArgument);
}
catch (Exception ex)
{
CallbackResponse = ex.ToString();
}
}
// implementing underlying ICallbackEventHandler interface
public string GetCallbackResult()
{
return CallbackResponse;
}
}
Por lo que puedo decir, esta interfaz simplemente asegura que el programador tenga que pensar en almacenar la respuesta de RaiseCallbackEvent
más tarde ser devuelto de la llamada a GetCallbackResult
.
No puedo ver ningún beneficio real para esta técnica, ya que ya tiene que implementar y pensar en dos métodos que hacen esto.
Sus pensamientos: ¿cualquier beneficio válido para este enfoque, o es simplemente un olor a código?
No hay solución correcta
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow