zoukankan      html  css  js  c++  java
  • 使用MVC框架中要注意的问题(二):将Model和Controller单独用一个项目设计

    这个问题很多朋友都会问到,MVC让分工协作成为了可能。但如果所有代码和页面都在一个项目中的话,那么分工就会受到限制。其实,Model和Controller都可以单独用一个(或者多个)程序单独来做。

    1. Model

    Model主要负责数据读写。现在我们一般可以直接用LINQ TO SQL类型或者Entity Framework 模型来做。

    严格来说,Model也分为两个部分,一个是业务实体定义(这是需要与View共享的),一个是针对业务实体的操作。只不过,上面提到的两种做法将他们合二为一了。

    Model项目单独做好之后,只要在MVC Web Application中添加引用即可。很简单,也很自然。

    2. Controller

    相对来说这就稍微复杂一些。请遵循下面的规范

    • Controller的名字要满足规范,例如BlogController。Blog是Controller的名字,而Controller是后缀。
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    
    using System.Web.Mvc;
    
    namespace MyControllers
    {
        public class BlogController:Controller
        {
    
            public ActionResult Index() {
                return View();
            }
        }
    }
    
    • 在global.asax文件中添加命名空间的注册,让MVC引擎知道如何查找Controller
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.Mvc;
    using System.Web.Routing;
    
    namespace MvcApplication2
    {
        // Note: For instructions on enabling IIS6 or IIS7 classic mode, 
        // visit http://go.microsoft.com/?LinkId=9394801
    
        public class MvcApplication : System.Web.HttpApplication
        {
            public static void RegisterRoutes(RouteCollection routes)
            {
                routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
    
                routes.MapRoute(
                    "Default",                                              // Route name
                    "{controller}/{action}/{id}",                           // URL with parameters
                    new { controller = "Home", action = "Index", id = "" },  // Parameter defaults
                    new[] {"MyControllers"}
                );
    
            }
    
            protected void Application_Start()
            {
                RegisterRoutes(RouteTable.Routes);
            }
        }
    }
    image 
  • 相关阅读:
    [转]swift 学习资源 大集合
    [转]Swift 编程语言入门教程
    luogu 3375 KMP模板题
    我终于明白了的马拉车算法———感谢我们学校的大佬
    A*B problem(FFT)
    又是毕业季1&&又是毕业季2
    邻接表——最简单易懂的写法——向非我非非我大佬低头
    马拉车——Manacher一篇看上去很靠谱的理解(代码显然易懂)
    邻接表存储
    一直想写的关于tarjan算法的理解——向struct edge大佬低头
  • 原文地址:https://www.cnblogs.com/chenxizhang/p/1633547.html
Copyright © 2011-2022 走看看