2010-03-31 2 views

Répondre

3

Un utilisateur ne fournit que actions (en appuyant sur les boutons, faire des sélections dans les boîtes de dialogue, etc.)

Ces actions se [parfois] converties en événements par le cadre sous-jacent. Les événements peuvent être compris, sur le plan conceptuel, comme des «messages» [de notification] envoyés à des méthodes qui ont, implicitement ou explicitement, «été enregistrées» avec le cadre sous-jacent à notifier [pour un type d'événement spécifique]. En réalité, le cadre invoque simplement ces méthodes avec les arguments appropriés, et une telle invocation est effectivement un événement.

Le mot événement est également utilisé pour désigner un type particulier d'événements. Par exemple, on parle de l'événement "Change" ou de l'événement "Submit" d'une boîte d'édition donnée ou d'un autre élément de l'interface utilisateur. En ce sens, l'événement n'est pas une instance particulière d'une opportunité pour la méthode sous-jacente d'être appelée, mais plutôt l'ensemble générique de conditions qui justifient l'invocation de la méthode. L'utilisateur n'a donc pas vraiment "soumettre un message" comme formulé dans la question, il/elle prend des mesures sur différents éléments d'interface utilisateur, et ces actions [peuvent] entraîner le fait que le cadre détecte un type d'événement particulier (ou plusieurs). Le framework recherche ensuite les méthodes actuellement enregistrées pour recevoir les notifications correspondantes, et le framework appelle ensuite ces méthodes, en passant les arguments appropriés (qui constituent un "message" de sorte à être utilisé par la méthode).

L'idée principale de ce modèle est que le niveau de l'application fournisse la logique spécifique pour gérer les événements, mais ne se soucie pas de suivre le «mouvement» du système et de l'utilisateur. Le cadre fait cela, et peut être approuvé pour avertir les gestionnaires d'événements concernés qu'une action particulière de l'utilisateur (ou une condition du système telle qu'une minuterie atteignant son heure fixée, un paquet réseau reçu etc. etc.) justifie une telle notification.

Questions connexes