sorry if this is a silly question - I am going through an MVC 4 book, and I've come in grips with both IoC with ninject, and now custom model binding. Question is : If both are used to instantiate parameters in runtime, what's the real difference between one and the other; what am I missing here? Thanks :)
问问题
325 次
2 回答
2
对象创建不是模型绑定器的主要目的。事实上,模型绑定器使用 IoC 容器创建必要的对象并没有什么问题。
模型绑定器的目的是将 FormsCollection 数据(数据的名称/值对的集合)转换为填充了字段的对象。
IoC 容器不进行任何翻译。它只是创建您告诉它创建的内容。
因此,这里有一个关于每个工作原理的简短对话:
“嘿,ModelBinder..这里有一堆数据,想办法用它做什么” “对!看起来我需要一个新的 LoginModel,让我以某种方式创建一个,通过 Activator 或 IoC Container,然后填充它与我给出的数据相匹配的值。”
而 IoC 容器更像是:
“嘿,IoC 容器,我需要一个实现 IDatabase 的对象” “对!我通过配置中的映射看到 IDatabase 接口映射到 DatabaseInstance 对象,所以我将为您创建一个新的,然后您就可以了"
于 2013-09-22T21:43:41.210 回答
1
活页夹是客户端用户输入和服务器处理之间的桥梁。活页夹让您可以在更高级别上工作,而不仅仅是 http 输入。绑定对象只携带数据。
另一方面,IoC 容器实例化服务器端服务——对象做某事而不是创建数据,与用户输入无关。
于 2013-09-22T12:16:18.520 回答