作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试了解如何正确使用被动 View 。在我看来,我在被动 View 上看到的每个例子都违反了德米特法则:
//In the presenter code
myview.mytextfield.text = "whatever";
那么被动 View 的更好实现是什么?
最佳答案
首先,与大多数编程规则一样,德墨忒尔定律更多的是一种原则或指南,有时该原则并不适用。话虽这么说,德米特定律并不真正适用于被动 View ,因为在这种情况下,该定律的原因不是问题。
德米特定律试图防止依赖链,例如:
objectA.objectB.objectC.DoSomething();
显然,如果objectB的实现更改为使用objectD,那么它将破坏objectA的依赖关系并导致编译错误。如果采取极端的做法,那么每当链条因实现更改而受到干扰时,您都会进行猎枪手术。
对于被动 View
所以你给出的例子通常会被实现:
//from presenter
view.MeaningfulName = "data";
虽然 View 会是这样的:
//from view
public string MeaninfulName
{
get
{
return someControl.text;
}
set
{
someControl.text = value;
}
希望这能澄清一些事情。
关于law-of-demeter - 被动观点是否违反了迪米特法则?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/911817/
大家好,我正在尝试使用 dojo 库中的 dijit 并尝试使用日历组件。我遵循了在线文档中的代码,但它似乎不起作用。下面是我正在使用的代码: body, ht
据我所知,我有一个看起来不错的 dijit,但它正在提高 Uncaught Error: Invalid template每次。我一直无法弄清楚为什么。所有变量(例如 ${variableName}
我正在尝试使用 dijit\dojo 构建一个具有 JsonRest 存储的 (通过调用远程 Rest 服务获得)。 代码是: var storeEntity = new JsonRest({
我是一名优秀的程序员,十分优秀!