AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Suchfunktion Ergebnis der Suchanfrage

Ergebnis der Suchanfrage


Datum des Suchindex: Heute, 00:47

Parameter dieser Suchanfrage:

Suche in Thema: Visitor Pattern
Suche alle Beiträge, die von "hansmaad" geschrieben wurden
• Suchmethode: "Suche nach allen Begriffen"
• Nach Datum (firstpost) sortiert
• Zeige Treffer als Beiträge
Zeige 13 von insges. 13 Treffern
Suche benötigte 0.003s

Es liegen Ergebnisse in folgenden Bereichen vor:

  • Forum: Object-Pascal / Delphi-Language

    AW: Visitor Pattern

      Delphi
      by hansmaad, 16. Jul 2010
    Bücher wie GoF usw hab ich schon im Regal stehen. Ich dachte eher an etwas speziell auf Delphi bezogen. Vielleicht verschwenden Delphi Entwickler ja nicht so gern ihre Zeit mit Lesen :lol:
  • Forum: Object-Pascal / Delphi-Language

    AW: Visitor Pattern

      Delphi
      by hansmaad, 16. Jul 2010
    Schade, aber trotzdem Danke:wink:

    Gibt es ein empfehlenswertes Buch, dass solche Dinge wie in diesem Thread bespricht (Patterns in Delphi, gutes Design...)?
    Die meisen Delphi Bücher die ich mir angesehen habe, sahen nach dem Schema "Klicken Sie Form erstellen um ein Form zu erstellen" aus. Gerne auch englisch.
  • Forum: Object-Pascal / Delphi-Language

    AW: Visitor Pattern

      Delphi
      by hansmaad, 16. Jul 2010
    Ah ok, jetzt ists klar.
    Gibt es auch ein const, das die Instanz konstant macht. So dass die Funktion das übergebene Objekt nicht verändert darf?
  • Forum: Object-Pascal / Delphi-Language

    AW: Visitor Pattern

      Delphi
      by hansmaad, 16. Jul 2010
    Also jetzt brauch ich doch noch mal eine genauere Erklärung.
    Ich habe es gerade getestet und ich kann auf einem const Argument alles aufrufen und es auch durch nicht konstante Methoden verändern. Was heißt hier const?


    type
    Test = class
    private
    x : Integer;
    public
    constructor Create;
  • Forum: Object-Pascal / Delphi-Language

    AW: Visitor Pattern

      Delphi
      by hansmaad, 15. Jul 2010
    Was bedeuten in Delphi konstante Parameter? Was kann ich auf ihnen ausrufen? Von C++ kenne ich konstante Methoden, die auf konstanten Instanzen aufgerufen werden können. Sowas gibt es hier aber denke ich nicht.
    Was bedeutet es einen const Visitor zu übergeben. Gilt dieses const nur für die Schnittstelle (eigentlich sinnlos da Schnittstellen gar keine Daten haben)? Oder weiß der Compiler, dass...
  • Forum: Object-Pascal / Delphi-Language

    AW: Visitor Pattern

      Delphi
      by hansmaad, 15. Jul 2010
    Ok, das sieht ja ganz nett aus (mal davon abgesehen, dass Interfaces für meinen Geschmack generell furchtbar aussehen:wink:).

    das IBaseVisitor Interface kann ich mir bei einer abstrakten Basisklasse schenken, da es keine Base Instanzen gibt, korrekt?

    TVisitor.VisitA(Instance: TA);
    TVisitor.VisitB(Instance: TB);

    würde ich wohl abstrakt machen und konkrete Besucher von TVisitor ableiten....
  • Forum: Object-Pascal / Delphi-Language

    AW: Visitor Pattern

      Delphi
      by hansmaad, 15. Jul 2010
    Wie es scheint, kommt man um hässliche Typecasts nicht herum. Ich hab mir noch eine Lösung geschrieben, die diese Typunterscheidung wenigstens an einer Stelle kapselt und ein normales Visitor 'faked':


    unit UBase;
    interface

    type
    BaseVisitor = class;

    Base = class
  • Forum: Object-Pascal / Delphi-Language

    AW: Visitor Pattern

      Delphi
      by hansmaad, 15. Jul 2010
    ->Polymorphie



    Richtig, das hatte ich ja schon auf der ersten Seite erwähnt. Wenn es häufig neue Elementklassen gibt (Base-Nachfahren) ist Visitor schlecht. Auf dieser Seite ist das System nciht "offen für Erweiterungen".
    Wenn allerdings meine Elementklassenhierachie ein fertiges System ist, dass nicht mehr um neue Elemente erweitert wird, aber die Funktionalität dieser Elemente häufig...
  • Forum: Object-Pascal / Delphi-Language

    AW: Visitor Pattern

      Delphi
      by hansmaad, 15. Jul 2010
    Also danke für deine Mühen, aber 1. versteh ich nicht alles und 2. hat das denke ich nicht mehr viel mit Visitor zu tun.
    procedure Visit(b : Base);

    und eine Typunterscheidung in if else, switch case oder Zugriff über die gemeinsame Schnittstelle ist keine Alternative. Dafür brauche ich keinen Visitor.
    Da kann ich auch direkt

    for base in Liste do
    begin
    if base is Dies : Tu dies
    if...
  • Forum: Object-Pascal / Delphi-Language

    AW: Visitor Pattern

      Delphi
      by hansmaad, 15. Jul 2010
    grrr...

    Schiff = class(Fahrzeug)
    public
    // ...
    property Kabinen : Integer read Kabinenanzahl;
    end


    Auto = class(Fahrzeug)
  • Forum: Object-Pascal / Delphi-Language

    AW: Visitor Pattern

      Delphi
      by hansmaad, 15. Jul 2010
    okok... das Beispiel war wohl zu minimiert.

    unit Base;
    interface
    type
    Visitor = class;
    Base = class
    public
    procedure Accept(v : Visitor);virtual;abstract;
    end;
  • Forum: Object-Pascal / Delphi-Language

    AW: Visitor Pattern

      Delphi
      by hansmaad, 15. Jul 2010
    Sie machen doch nicht das selbe?! Die eine schreibt 'A', die andere schreibt 'B'.
    Das ist doch der Sinn des Vistor Patterns. Für jedes ConcreteElement gibt es unterschiedliches Verhalten, dass aber nicht in der Element Klasse, sondern in einem (konkreten) Visitor implementiert ist.


    Meine jetzige Alternativlösung ist folgende:


    unit UBase;
    uses UWriter;
    type
  • Forum: Object-Pascal / Delphi-Language

    Visitor Pattern

      Delphi
      by hansmaad, 15. Jul 2010
    Guten morgen,

    ich versuche gerade meinen ersten Delphi Visitor zu schreiben und bin natürlich auf die wohl bekannten zirkulären Probleme gestoßen. Ich habe mit der Suche einige Themen gefunden, wo darüber gesprochen wird, eine Lösung aber nur erwähnt wird.
    Da ich ein recht umfangreiches Composite habe, möchte ich auf keinen Fall alles in eine Datei packen. Ich wär daher daran interessiert ob...


URL zu dieser Suchanfrage:

https://www.delphipraxis.net/dp_search.php?do=usersearch&search_username=hansmaad&search_exact_username=1&search_sortby=dateline&search_resulttype=post&search_matchmode=0&searchthreadid=152968
Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:01 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