Interface 请提供基本信息
我一直在慢慢地自学接口驱动编程的基础知识,我正在努力学习一些关于Ninject控制反转的原则 假设我有一个具体的模型类,如下所示Interface 请提供基本信息,interface,inversion-of-control,ninject,Interface,Inversion Of Control,Ninject,我一直在慢慢地自学接口驱动编程的基础知识,我正在努力学习一些关于Ninject控制反转的原则 假设我有一个具体的模型类,如下所示 public sealed class Host : EntityAuditable<Host, Guid> 并且知道我的绑定将被正确注入。我在基类中的实现与此类似 public static IList<T> LoadAll() { T instance = new T(); List<
public sealed class Host : EntityAuditable<Host, Guid>
并且知道我的绑定将被正确注入。我在基类中的实现与此类似
public static IList<T> LoadAll()
{
T instance = new T();
List<T> instances = new List<T>(instance.DataSelectAll());
// Clean up the instance.
instance.Dispose();
return instances;
}
公共静态IList LoadAll()
{
T实例=新的T();
列表实例=新列表(instance.DataSelectAll());
//清理实例。
Dispose();
返回实例;
}
这是可能的还是我做错了什么
当我调用新的T()时,Ninject是否知道它应该调用我的参数化构造函数
我在文档中找到的示例(可惜已经过时)使用内核来创建对象,但我不想让内核创建代码散落在我的模型中
我将在我的Global.ascx文件中进行所有绑定。在回答我自己的问题时,我发现我的方法不正确
剥离静态方法并将我的mvc控制器用于业务逻辑将导致更好的分离和更干净、更可维护的代码。使用ninject绑定所有内容要容易得多。感谢您的编辑。它使一切都更容易阅读。
public Host(IService<Host> service)
{
this.service = service;
this.id = Guid.NewGuid();
}
Host.LoadAll();
public static IList<T> LoadAll()
{
T instance = new T();
List<T> instances = new List<T>(instance.DataSelectAll());
// Clean up the instance.
instance.Dispose();
return instances;
}