接口的默认实现
本文关键字:实现 默认 接口 | 更新日期: 2023-09-27 18:17:00
我有一个使用多个第三方dll的c#.net项目。这些dll公开了整个项目中使用的接口。我的问题是:这些接口被传递给Controller类的构造函数,如下所示:
HomeController(IClientData clientdata, IClientRecord clientrecord)
{ }
这里,clientdata
和clientrecord
被初始化为启动视图所需的默认值(生成客户端详细信息的列表(。我不得不在项目的其他地方使用这些初始化的数据,但我不知道如何获得这些默认的初始化值。
您所看到的是ASP.NET MVC中的一个非常通用的模式。在这里,您的主控制器有2个依赖项(一个类从IClientData继承,另一个从IClientRecord继承(。这些依赖关系通常是由一些DI框架注入的。
有一些好的DI框架可用于ASP.NET MVC
- Unity
- Autofac
- 温莎城堡
- 结构映射等等
它们通常提供两种设置依赖关系的方法-
- 通过XML配置文件
- Fluent接口(内部代码(
当使用Fluent接口时,一般做法是在App_Start文件夹中创建一个单独的类文件,并从global.asax(Application_Start(调用它。