Mate est mon choix. La première et principale raison est qu'il est discret. Mon code de l'application n'a pas de dépendances sur le cadre, il est fortement découplé, réutilisable et testable.
L'une des plus belles caractéristiques de la Contrainte est le déclaratif de configuration, essentiellement, vous connecter votre application à l'aide de balises dans ce qui est appelé un plan de l'événement -- en fait une liste d'événements qui génère de votre application, et quelles sont les mesures à prendre lorsqu'ils se produisent. Le plan de l'événement, donne un bon aperçu de ce que votre application n'. Second utilise Flex " propre mécanisme d'événements, il n'a pas d'inventer ses propres comme la plupart des autres cadres. Vous pouvez envoyer un événement à partir de n'importe où dans la vue de la hiérarchie et de l'avoir remonter jusqu'le cadre automatiquement, au lieu d'avoir une ligne directe, à l'instar de Cairngorms CairngormEventDispatcher ou PureMVC du système de notification.
Mate aussi utilise une forme d'injection de dépendance (en utilisant les fixations) qui permet de connecter vos modèles, vos points de vue sans que ni l'un savoir sur l'autre. C'est probablement la fonction la plus puissante du cadre.
À mon avis, aucune autre application Flex cadres de venir n'importe où près de la Contrainte. Cependant, ce sont les prétendants et pourquoi je les considère comme moins utiles:
PureMVC activement refuse de vous de nombreux avantages de Flex (par exemple les liaisons et de remontée d'événements dans le cadre de portable -- un doubious but de mon point de vue. Il est également conçu, et envahissantes, comme ils viennent. Chaque partie de votre application dépend du cadre. Cependant, PureMVC n'est pas terrible, pas juste un très bon ajustement pour le Flex. Une alternative est FlexMVCS, un effort à faire PureMVC plus approprié pour Flex (malheureusement il n'y a pas de documentation pourtant, il suffit de source).
Cairngorm est un faisceau d'anti-modèles qui conduisent vers des applications qui sont étroitement associés aux variables globales. Nuff said (mais si vous êtes intéressés, voici un peu plus de mes pensées, et ici aussi).
Swiz est un cadre inspiré par le framework Spring pour Java et Cairngorm (essayer de faire pour le pire des parties de ceux-ci). Il fournit un conteneur d'injection de dépendance et utilise les métadonnées pour activer la fonction d'auto-câblage des dépendances. Il est intéressant, mais un peu bizzare dans qui va à de telles extrémités pour éviter les variables globales de Cairngorm en utilisant l'injection de dépendance, mais utilise ensuite une variable globale pour l'événement central de l'expédition.
Ceux-ci sont ceux que j'ai essayé ou de recherches. Il y a quelques autres que j'en ai entendu parler, mais aucun qui je pense sont largement utilisés. Mate et Swiz ont été présentés lors de la récente 360|Flex de la conférence, et il y a des vidéos disponibles (Mate les gens ont des instructions sur la façon de les regarder)