2010-03-17 7 views
1

Voici le pseudo-code facile:Quel est l'équivalent MVC de ce code:

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

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

Quelle est la version MVC enterprisey?

+0

Pouvez-vous s'il vous plaît nous dire de quel framework mvc vous parlez? Si c'est le développement web, cela devrait être fait en utilisant javascript et serait donc le même pour tous les frameworks web côté serveur. –

Répondre

0

N'essayant pas d'être spécifique à la langue, mais l'idée est de créer un contrôle de texte numérique qui sait si la valeur est valide. Il est facile de s'accrocher aux rôles exacts de M, V et C. Cependant, à toutes fins utiles, il est logique de combiner la vue et le contrôleur pour les applications de bureau. Swing a pris cette approche parce que le contrôleur et la vue avaient un couplage très serré et il était logique de les combiner en un seul. Lisez ce nice discussion sur c2 sur le sujet.

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


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