Ah moment, hätte ich wohl auch noch posten sollen...
Delphi-Quellcode:
procedure TAddBefehl.Execute( View: TView);
var
i: Integer;
begin
If Assigned( View ) and Assigned( HandlerReferenz ) then
begin
// Index des ausführenden Views herausfinden
i := HandlerReferenz.IndexofView( View );
// An nächster Position neues View ( +Model ) erstellen
HandlerReferenz.Insert( i + 1 );
end;
end;
Also der Befehl hat in der Factory ja den Handler kennengelernt, da er ja nur zum ausführen dient, und die View wird übergeben um herauszufinden welche überhaupt den Befehl aufgerufen hat. In dem Fall wird dann zwischen der ausführenden View und (falls vorhanden) der nächsten View, eine neue View erstellt. Als Beispiel ein dynamischer Suchdialog, wo man Kriterien hinzufügen und wieder entfernen kann.
MfG Alaitoc