这段代码的MVC等价物是什么:

时间:2010-03-17 20:02:42

标签: model-view-controller language-agnostic

这是简单的伪代码:

void TextBox1Changed()
{
    //If the text isn't a number, color it red

    if (!IsValidNumber(TextBox1.Text)
        TextBox1.Color = Pink;
    else
        TextBox1.Color = WindowColor;
}

什么是MVC企业版?

1 个答案:

答案 0 :(得分:0)

不要尝试特定语言,但想法是创建一个数字文本控件,知道该值是否有效。很容易挂起M,V和C的确切角色。但是,出于所有实际目的,将View和Controller for Desktop结合起来是有意义的。 Swing采用了这种方法,因为控制器和视图具有非常紧密的耦合,将它们组合成一个是有意义的。在c2上阅读关于该主题的nice discussion

class NumberTextBox extends TextBox {
    bool isValid() {
        return IsValidNumber(this.Value);
    }
}


ageTextBox = new NumberTextBox();
ageTextBox.addChangeHandler(function() {
    this.Color = this.isValid ? WindowColor : Pink;
});