运行平台:asp.net 软件评级:
文件大小:10k 软件语言:简体中文
软件授权:免费版 演示地址:官方演示地址
下载次数:1 软件类别:电子商务
下载地址:下载地址一

软件简介:

如果你曾经开发ASP.NET MVC应用程序,你可能遇到过这个"依赖注入"。依赖注入是一种实现依赖倒置原则。简单的说,依赖注入是一种设计模式,有助于一类的单独创建依赖对象的逻辑。这种分离的结果是一个松耦合的系统中,有两个具体的实现之间没有严格的相关性。本文论述了依赖注入是一个ASP.NET MVC应用程序说明使用

虽然这篇文章说明了使用ASP.NET MVC依赖注入,其基本原理可以应用于任何平台或编程框架。还要记住的是,本文的目的是解释依赖注入的原理和具体实现在ASP.NET MVC不。因此,主题,如集装箱超出了本文的范围

 

  • public interface ICustomerRepository
  • {
  •   List<CustomerViewModel> SelectAll();
  •   CustomerViewModel SelectByID(string id);
  •   void Insert(CustomerViewModel obj);
  •   void Update(CustomerViewModel obj);
  •   void Delete(CustomerViewModel obj);
  • }
  •  

     

  • public class MyControllerFactory:DefaultControllerFactory
  • {
  •   private Dictionary<string, Func<RequestContext, IController>> controllers;
  •  
  •   public MyControllerFactory(ICustomerRepository repository)
  •   {
  •     controllers = new Dictionary<string, Func<RequestContext, IController>>();
  •     controllers["Home"] = controller => new HomeController(repository);
  •   }
  •  
  •   public override IController CreateController(RequestContext requestContext, string controllerName)
  •   {
  •     if(controllers.ContainsKey(controllerName))
  •     {
  •       return controllers[controllerName](requestContext);
  •     }
  •     else
  •     {
  •       return null;
  •     }
  •   }
  • }
  •  虽然上面的代码似乎适用于底果然有问题。问题是,在实例化HomeController处理传入的请求时,ASP.NET MVC框架使用参数的构造函数不HomeController。由于HomeController不再有,上面的代码在运行时抛出一个异常。幸运的是,ASP.NET MVC允许你明确的指定控制器应实例化。



    上一篇:基于jQuery的文件上传控件(c#) 下一篇:没有了.. 【加入收藏】【打印此文】