zoukankan      html  css  js  c++  java
  • 爱上MVC3~将系统的路由设置抽象成对象吧

    回到目录

    对于代码开发来说,抽象至关重要,在MVC3中提供了路由重写功能,你的站点可以按着某种规范去将URL重写,这对于MVC来说是如此的简单,呵呵。

    以往的MVC项目,我们习惯上把这种路由配置写在global.ascx里,这事实上不是一种好习惯,因为你的模块多了,路由规范也多了,由这东西多了这后就显得很乱了,将所以不相关的代码放在一起,这本身就是一种代码的坏味道。(我觉得我有必要写一下代码的坏味道系列了,呵呵)

    看上去确实不是很美观,所以,我们有必要将这个东西进行抽象,如,我要建立一个与用户相关的路由规范,我可以建立这样一个类:

       /// <summary>
        /// 用户中心的路由规范
        /// </summary>
        public class UserCenterRouteConfig
        {
            public static void RegisterRoutes(RouteCollection routes)
            {
                routes.MapRoute(
                   name: "UserCenter_StudyCenter",
                   url: "{controller}/{action}/{flag}-{page}",
                   defaults: new { controller = "StudyCenter", action = "Index", flag = 0, page = 1 },
                   constraints: new { controller = "StudyCenter" }
               );
            }
        }

    而在global.ascx里,只要注册一个它就可以了,代码如下:

       protected void Application_Start()
        {
                AreaRegistration.RegisterAllAreas();
                UserCenterRouteConfig.RegisterRoutes(RouteTable.Routes);//注册用户中心路由
                RegisterRoutes(RouteTable.Routes);//注册默认路由
      }

    如果你有其它模块也可以把它们独立出来,这样无论是看上去,还是维护上都比混在一起了的多,呵呵。

    回到目录

  • 相关阅读:
    Android—应用程序开机自启
    Android—简单的仿QQ聊天界面
    Android—关于自定义对话框的工具类
    Android—基于GifView显示gif动态图片
    Android—ListView条目背景为图片时,条目间距问题解决
    Android—自定义开关按钮实现
    FileProvider的使用
    Android 7.0新特性
    Android SDK自带调试优化工具
    Android监视器概述
  • 原文地址:https://www.cnblogs.com/lori/p/2935580.html
Copyright © 2011-2022 走看看