|
|
1
3
在测试方面,在我看来,将对象直接传递给动作方法更自然。无需填充ValueProviderDictionary。 需要另一种方法的原因是,您可能需要控制所绑定对象的实例化。DefaultModelBinder只是查找默认构造函数并调用它。 但在某些情况下,您可能需要在将对象绑定到表单值之前自己创建对象。这就是UpdateModel发挥作用的地方。 |
|
2
0
我倾向于这样写
然后这样测试(使用RhinoMocks)
所以我的答案是,以上都不是:-) |
|
|
3
0
我总是选择对上下文透明,以避免测试中出现噪音,所以第一种方法更好。 只是好奇一下,对于HTML生成的表达式,你喜欢什么样的魔术字符串。是它们对编译器不可见,对重构的抵制,还是你讨厌智能感知。:)哦,我已经完成了,开始了一场离题辩论。 |
|
|
4
0
我喜欢绑定到模型对象的第一种选择。这使控制器摆脱了模型和视图的细节。因此,我可以根据需要更改模型和视图,而不会影响我的控制器。因此,测试隔离也变得更加容易。 对于只涉及域一小部分的复杂域模型或视图,我创建了一个视图模型,对视图中的数据而不是域中的数据进行建模。然后,我编写映射代码或使用对象映射器将视图模型映射到我的域模型。这减少了我的视图和我的域之间的耦合。 在将单个参数传递给控制器方法的问题上,我不得不不同意彼得·莫里斯的观点。这起初看起来不错,但一旦你开始使用大型表单,很快就会变得很痛苦。此外,这增加了控制器和视图之间的耦合。 |
|
|
Andrus · 如何在Linux中阅读期刊 1 年前 |
|
|
Miranda · 读取xml文件时路径错误中有非法字符 1 年前 |
|
|
Primdonm · 如何将自定义列表中的字符串值格式化为货币格式? 1 年前 |
|
|
Kiryl · Sitecore中自己的控制器 1 年前 |
|
|
Farid · 如何从数据库中填充Resource.resx文件值? 2 年前 |