2010-11-22 4 views
2

Dans les exemples de RobotLegs, il apparaît que les médiateurs sont utilisés sur chaque bouton/textArea, plutôt que sur le composant personnalisé qui contient ces enfants. Cela prendrait beaucoup de temps, n'est-ce pas?Flex, RobotLegs: devez-vous arbitrer tous les composants enfants d'un composant visuel?

De Joel Hooks InsideRia Example

injection de dépendance fonctionne mieux avec des classes sans ambiguïté. Ce que cela signifie est qu'en étendant TextArea dans notre nouvelle classe MessageView , nous créons un composant de vue spécifique pour l'injection de dépendance sur laquelle agir. Ce est important si notre application était pour avoir plusieurs TextAreas qui ont servi différentes fins. En divisant nos classes de cette façon, nous sommes clairement définissant l'intention de la classe et permettant aux outils d'injection de dépendance de faire leur travail efficacement.

Répondre

1

Non, ne pas administrer tous les composants enfants. Vos composants doivent être organisés en groupes qui exécutent des actions connexes. Dans les exemples, les composants sont extrêmement simples et ne reflètent pas ce à quoi une application réelle ressemblerait.

+0

Ah oui, je prenais probablement les choses trop littéralement, alors. J'ai vu votre blog en passant, avez-vous déjà fait quelque chose avec C++ (c'est une douleur dans le cul après avoir utilisé des langages sympas comme AS3 et Java!) – Ryan

+0

Je n'ai pas fait grand-chose avec C++ autre que de jouer avec openFrameworks. C'est vraiment difficile de s'amuser avec un langage comme C++ –

0

Une règle de base que j'utilise est de penser si ce composant a besoin de communication avec le reste de l'application, ou si c'est seulement une partie d'un ensemble. Gardez à l'esprit que les médiateurs sont uniquement destinés à servir de pont entre la vue et l'application. Par exemple, si j'ai une vue avec un formulaire (comme un formulaire de connexion), je ne médiatise pas tous les composants enfant (les champs de texte, les boutons, etc.) car cela serait inutile et aurait un prolifération de classes et d'objets à l'exécution. Quand je fais la forme, je pense, qu'est-ce que la vue par elle-même? et que devraient faire les autres parties de l'application? Lorsque l'utilisateur remplit le formulaire et clique sur un bouton, la vue distribue un événement (LoginRequestEvent, dans ce cas), puis le médiateur doit redispatcher cet événement, ce qui rend le médiateur très maigre. Mais avec la pratique de la charpente, vous aurez cette impression de ce que vous dites. Par exemple, dans une application, je médiatise chaque rendu d'élément d'une liste, et d'autre part, je médiatise une pile de vue avec deux ou trois contenus de navigation.

J'espère que ça aide

Questions connexes