Vincent wrote:
bruno at modulix a écrit :
(snip)
La plupart des GUI toolkits actuels implémentent déjà toute la partie
'bas niveau' du contrôleur (transformer un click de souris à un endroit
de l'écran en évènement). Dans le cas d'applis 'pipeline', on a (trop)
tendance à mettre en vrac logique métier et logique de présentation dans
les gestionnaires d'évènement. Dans notre cas, on se contentera
d'appeler une classe controleur appropriée.
Dans le cadre du application Delphi (ou vb), que veut tu dire quand tu
parle d'appeller simplement la classe controleur approprié.
Une classe a créer soi-même, responsable d'une ou plusieurs vues.
Si on raméne, ça à la fiche client simple.
Quand l'utilisateur clique sur le bouton <enregistrer>, delphi appelle
l'évt OnClick du bouton.
Je met simplement le code du type :
MonObjetCLient.RaisonSociale := LechampDel'ecran.text;
etc ..
MonObjetClient.ApplyUpdate;
Ce qui fait de ta fenêtre à la fois une vue et un contrôleur.
L'inconvénient, c'est que si tu dois réaliser le même traitement dans
une autre fenêtre, il faut dupliquer le code, et le cauchemar commence...
la solution est d'avoir une classe controleur à la quelle le
gestionnaire d'évènement fasse appel :
class Controleur {
// ...
def updateClientFrom(data) {
MonObjetClient.attrib = data.getAttrib()
// etc
MonObjetClient.ApplyUpdate
}
ButtonOnClick:
data = makeDataFromFields()
MonControleur.updateClientFrom(data)
Je ne vois pas bien ce que tu entends par appeller la classe du
contrôleur dans ce cas précis.
cf ci-dessus.
--
bruno desthuilliers
python -c "print '@'.join(['.'.join([w[::-1] for w in p.split('.')]) for
p in 'onurb@xiludom.gro'.split('@')])"