我确信以前有人问过这个问题,但我很难找到在哪里。
我正在使用 Ninject 以及存储库设计模式来删除 Controller 中的依赖项。
据我了解,这种方法的好处之一是,如果我愿意,我可以轻松地分解我的存储库和域实体并使用另一个程序集。因此,我将域实体和存储库保留在外部程序集中,并且可以从接口(interface)模拟所有依赖项。
虽然我可以在大多数地方使用接口(interface)来引用我的域实体,但在模型绑定(bind)方面我必须使用对我的具体类的引用。我读到这与我理解的序列化有关,但这是避免引用域实体来创建单独模型的唯一方法吗?
我可以使用自定义模型绑定(bind)做什么?
一些背景知识:我是一位经验丰富的 ASP.net 开发人员,但对 MVC 还很陌生。
最佳答案
View 模型应该是没有逻辑的普通数据容器,因此根本不应该有任何依赖关系。相反,将存储库注入(inject)到您的 Controller 中,并让它将存储库中所需的数据分配给 View 模型的适当属性。
关于asp.net-mvc - 模型的依赖注入(inject),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8049071/