AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Command Liste verwalten/speichern

Ein Thema von CarlAshnikov · begonnen am 5. Nov 2013
Antwort Antwort
CarlAshnikov

Registriert seit: 18. Feb 2011
Ort: Erfurt
108 Beiträge
 
Delphi XE5 Enterprise
 
#1

Command Liste verwalten/speichern

  Alt 5. Nov 2013, 14:52
Hallo,

ich habe hier meinen KonfigurationsManager der eine Konfiguration hat die aus verschiedenen Objekten besteht. Zu jedem Objekt möchte ich einen Befehl in einer Befehlsliste speichern. Um zu wissen welche Befehle für ein Object verfügbar sind kann man diese fragen mit funktioniertMit() (KlassenMethode). Außerdem habe ich den Constructor privat gemacht und ich kann mir nur ein Exemplar mittels generiereBefehlFuer() (auch eine Klassenmethode) holen. Dieser fertige Befehl wandert wieder in meine Konfiguration und kann dem BefehlsAusführer gegeben werden, der im Prinzip nur die ausführen Methode aufruft (sollte in etwa dem Command Pattern entsprechen). Zu sehen im ersten Bild Befehle.jpeg (das kursive ist hier eine abstracte Klasse, keine Ahnung ob das eine übliche Konvention ist).

Jetzt zur ersten Herausforderung:
Ich wüsste nicht, dass ich mir eine Liste von Klassen in meinem Konfigurationsmanager halten kann, um die meinem Nutzer zur Auswahl zu stellen.

Ansatz 1:
Eine Art Wrapper um den Befehl, den ich kreieren kann und der die Klassenmethoden funktioniertMit() und generiere...() für den entsprechenden Befehl abbildet. Ich habe hier noch Delphi 5 und hab deshalb keine Generics, sonst könnte ich mir einen TBefehlWrapper<T> bauen. So muss ich, denke ich zumindest, jedes mal einen neuen Wrapper zu einem neuen Befehl schreiben (siehe 2. Bild).

Ansatz 2:
Ich hole mir ungültige Exemplare von jedem Befehl, die Exceptions werfen, wenn ich sie ausführen will. Das wollte ich ursprünglich gar nicht zulassen.

Die zweite Herausforderung:
Wie könnte ich am besten die entstandene Konfiguration (das Mapping Object <-> Befehl) abspeichern? Es geht mir hier nicht darum wo ich das hinspeichere, sondern wie ich z.B. die Befehle identifiziere um sie beim Laden wieder herstellen zu können. Ich denke darauf trifft man häufiger, z.B. wenn man eine Strategie austauschbar halten möchte und diese durch den Nutzer konfigurierbar sein soll.

Ich bin für jegliche Meinungen/Kritiken/Vorschläge zu meinem Entwurf dankbar.
Miniaturansicht angehängter Grafiken
befehle.jpg   befehleext.jpg  
Sebastian
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:46 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz