繁体   English   中英

接口的默认实现

[英]Default implementation of Interface

我已经使用多个第三方dll的ac#.net项目。 这些dll公开了整个项目中使用的接口。 我的问题是:这些接口像这样传递给Controller类的构造函数:

HomeController(IClientData clientdata, IClientRecord clientrecord)
{ }

在这里, clientdataclientrecord被初始化为启动视图所需的默认值(生成客户端详细信息列表)。 我必须在项目的其他地方使用这些初始化的数据,但是我不知道如何获取这些默认的初始化值。

您所看到的是ASP.NET MVC中的一种非常通用的模式。 在这里,您的家庭控制器具有2个依赖项(一个从IClientData继承的类,另一个从IClientRecord继承的类)。 这些依赖关系通常是由某些DI框架注入的。

有一些不错的DI框架可用于ASP.NET MVC

  1. 统一
  2. Autofac
  3. 温莎城堡
  4. StructureMap等...

并且它们通常提供两种方式来建立依赖关系:

  1. 通过XML配置文件
  2. 流利的界面(内部代码)

使用Fluent接口时,通常的做法是在App_Start文件夹中创建一个单独的类文件,然后从global.asax(Application_Start)调用它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM