Hat eine Zeit gedauert und ich verstehe auch immernoch nicht ganz, was Dein Problem ist. Eigentlich glaube ich, dass Du nicht willst, dass für jede Instanz von Auto ein kompletter ViewGraph entsteht.
Allerdings macht mich dein Code stutzig. In der main() übergibst Du dem Auto sein Modell, aber in der Auto Klasse selber kommt diese nicht an und du erzeugst darin ein neues.
Ich löse die Trennung so, dass ein Modell getrennt von der View erstellt wird. Die View hat eine onModelData(data:ModelEvent) Methode und ich verbinde in einer Controller Klasse Model mit View.
PHP-Code:
model.addEventListener(ModelEvent.DATA,view.onModelData,false,0,true)
In der Controllerklasse erzeuge ich erst das Modell, dann die View (die sich selber darum kümmert all ihre kleinen internen Views zu erzeugen. Und wenn ModelData in der View ankommt, zerpflückt die View die Daten und leitet sie in die Einzelviews weiter.
Wenn jetzt ein neues Model (anderes Auto) angezeigt werden soll, brauche ich nur das erste Model abzulösen und das neue anzudocken
PHP-Code:
model1.removeEventListener(ModelEvent.Data,view.onModelData, false);
model2.addEventListener(ModelEvent.DATA,view.onModelData, false, 0, true);
Es besteht also nur eine View, die die jeweiligen Daten verschiedener Modelle anzeigt. Wenn man will, kann man natürlich noch x Views dazu erstellen und sie mit y Modellen verknüpfen.
Wenn ich jetzt, z.b durch die Kontrollerklasse das Model anrege, einmal seinen aktuellen Zustand zu broadcasten, zeigt die im Moment einzige View die neuen Daten von Model2.
Passt das zu dem, was Du zur Frage hattest?