接口的默认实现

本文关键字:实现 默认 接口 | 更新日期: 2023-09-27 18:17:00

我有一个使用多个第三方dll的c#.net项目。这些dll公开了整个项目中使用的接口。我的问题是:这些接口被传递给Controller类的构造函数,如下所示:

HomeController(IClientData clientdata, IClientRecord clientrecord)
{ }

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

接口的默认实现

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

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

  1. Unity
  2. Autofac
  3. 温莎城堡
  4. 结构映射等等

它们通常提供两种设置依赖关系的方法-

  1. 通过XML配置文件
  2. Fluent接口(内部代码(

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