Nunca me he encontrado con este patrón de código aquí. ¿Alguien me importaría explicarme? (¿O hay un patrón aquí? ¿Hay alguna razón por la que esto se hizo así? ¿Qué beneficios está dando esto?) Soy nuevo en la programación general, y esta es una muy interesante para mí:¿Qué patrón se está haciendo en el archivo Global.asax.cs en ASP.NET MVC 4?
Global.asax.cs
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();
WebApiConfig.Register(GlobalConfiguration.Configuration);
//...
RouteConfig.RegisterRoutes(RouteTable.Routes);
//...
}
WebApiConfig.cs
public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
}
}
RouteConfig.cs
public class RouteConfig
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
}
}
hmmm ... Veo por qué lo hicieron. ¡Gran respuesta! ¿Puede explicarme (si es posible) cómo y por qué lo hicieron más a fondo y en términos básicos? Tal vez proporcione un ejemplo paralelo muy simple? (Soy nuevo en programación). Gracias. – JCCV
@JCCV No estoy seguro de ser una autoridad sobre exactamente por qué hicieron las cosas de esta manera. Mi mejor opción sería evitar los problemas con la configuración XML, que era común en, por ejemplo, Javaland. Por ejemplo, si desea permitir la división de la configuración XML en varios archivos, debe admitir esto explícitamente en el formato del archivo de configuración. Esto se vuelve más complicado si desea poder incluir archivos de configuración de una biblioteca. Aún peor si desea generar dinámicamente la configuración en tiempo de ejecución. – millimoose
@millimoose Ese es un argumento en contra de la configuración de XML en general, no es un argumento para/contra uno o múltiples métodos actualizando la configuración. –