Après avoir lu beaucoup de théories sur la séparation des interfaces et des codes, je me demande comment vous comprenez le modèle de commande / action? J'ai également une telle question ici. Le contrôle Delphi ou la méthode d'appel d'événement est la méthode de conception du contrôle Delphi ou de la méthode d'appel d'événements. En d'autres termes, il n'est pas nécessaire de poursuivre délibérément le mode de commande / action, mais il suffit de faire attention à l'encodage général.
Pour autant que je comprends, prenez l'événement OnClick de Tbutton.
D'une manière générale, si nous voulons définir cet événement, double-cliquez simplement sur le contrôle, puis écrivez du code, par exemple:
Procédure tform1.button1Click (expéditeur: tobject);
Commencer
...;
fin;
Certaines personnes peuvent penser que le couplage entre le code et l'interface est plus grave car cette fonction est réellement mélangée avec l'interface.
Mais je ne pense pas, prenons l'exemple suivant:
Si vous souhaitez utiliser un autre Button2 (ou un MenuItem ou un autre événement de commande) pour implémenter cette fonction, je peux simplement faire l'événement OnClick de Button2 pointer à Button1Click. Et lors de la modification, maintenez simplement le code Button1Click?
Ou, deuxièmement, lorsque j'initialise Button2 (car Button2 peut être créé dynamiquement), faites simplement Button2.OnClick: = Button1Click, pourquoi dois-je implémenter cette soi-disant taction?
Parlons du contrôle de l'interface. Tous les appels l'espace de Button1Click disparaît et je peux le faire:
Si l'expéditeur est TControl alors
TControl (expéditeur) .Visible: = false;
Ce n'est pas différent d'appeler Taction.Visible.