Nigdy nie natknąłem się na ten wzór kodu tutaj. Czy ktoś chciałby mi to wyjaśnić? (Czy jest tu nawet wzorzec?) Czy jest jakiś powód, dla którego tak zostało zrobione? Jakie korzyści daje to dawanie?) Jestem nowy w programowaniu ogólnym i jest to dla mnie bardzo interesujące:Jakiego wzorca dokonuje się w pliku Global.asax.cs w 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 ... Rozumiem, dlaczego to zrobili. Świetna odpowiedź! Czy możesz mi wyjaśnić (jeśli to możliwe), w jaki sposób i dlaczego zrobili to bardziej dogłębnie i w kategoriach podstawowych? Może dostarczyć bardzo prosty przykład równoległy? (Jestem nowy w programowaniu). Dziękuję Ci. – JCCV
@JCCV Nie jestem pewien, czy jestem autorytetem w sprawie dokładnie tego, dlaczego robili to w ten sposób. Moim zdaniem najprościej byłoby uniknąć problemów z konfiguracją XML, która była powszechna na przykład w Javaland. Na przykład, jeśli chcesz zezwolić na podział konfiguracji XML na wiele plików, musisz to wyraźnie zawrzeć w formacie pliku konfiguracyjnego. To staje się bardziej skomplikowane, jeśli chcesz mieć możliwość dołączania plików konfiguracyjnych z biblioteki. Jeszcze gorzej, jeśli chcesz dynamicznie generować konfigurację w czasie wykonywania. – millimoose
@millimoose To jest argument przeciwko ogólnie konfiguracji XML, nie jest argumentem za/przeciw jednej lub wielu metodom aktualizującym konfigurację. –