Voyons le cas de l'AbstractModel

Pour utiliser la classe AbstractModel nous devons l'étendre.

[actionscript]
public class DrawingModel 
	extends AbstractModel 
{

	public function DrawingModel(owner : Plugin = null, name : String = null)
	{
		super(owner, name);
		Debug.INFO(this + " is CREATE !!!");
	}

Dans un premier temps nous n'allons pas tenir compte de l'argument owner (je le présenterait dans le billet suivant, [lowRA] - Owner, la notion de plugin ). Ce qu'il faut retenir c'est que chaque modèle reçoit un nom, il s'agit d'un identifiant (unique!) qui permettra de récupèrer l'instance de la classe de n'importe quel endroit de l'application grâce à la classe ModelLocator.

ModelLocator

ModelLocator est un singleton (je ne veux aucun commentaire des puristes :p ), ce qui veut dire qu'il ne peut exister qu'une seule instance de la classe. Cette classe stock en elle l'ensemble des Modèle de l'application, et donc permet de récupérer de façon global n'importe quelle instance d'AbstractModel instancié.

[actionscript]
ModelLocator.getInstance().getModel("nom_de_mon_model");


Pour les vues c'est la même logique avec AbstractView et ViewLocator. Et pour les commandes c'est presque parreil, la seul différence réside dans le fait que c'est le FrontControlleur qui fait office de locator et que l'identifiant est le nom d'un événement.

[actionscript]
monController.pushCommandClass("monEvenement", MaCommandExecute);

Rien de bien nouveau avec pixLib si ce n'est le pushCommandClass. Maintenant nous pouvons choisir d'exécuter à chaque évènement la même instance de la commande ou dans instancier une nouvelle (plus proche du pattern originel).

[actionscript] 
public function pushCommandClass( eventName : String, commandClass : Class ) : void
public function pushCommandInstance( eventName : String, command : Command ) : void

Voilà, avec ces six classes nous avons de quoi déployer une structure MVC + FrontController en AS3. :)

En bonus, je me suis amusé à porter un petit projet MVC pixLib vers lowRA.

Pour ceux qui veulent savoir un peut plus sur le MVC+FC dans pixLib :