Factory Design Pattern in C++

Das könnte dich auch interessieren …

9 Antworten

  1. Stefan sagt:

    Mal ne doofe Frage:
    Über was schreibst du hier eigentlich? Ist das ein Programm, das man sich irgendwo herunterladen muss?
    Ich programmiere schon eine Weile C++, aber von Factory Pattern habe ich noch nie gehört.

    • Werner Ziegelwanger sagt:

      ich schreibe über Design Patterns. Den Beispielcode bekommst du von meiner GitHub Seite, die ist in jedem Artikel verlinkt. Das Factory Pattern ist wohl neuer als so manches andere. Ich kenne es seitdem ich mit Magento 2 arbeite, da bekommt man alle Objekte über Factories…

      • Stefan sagt:

        Und was ist ein Design Pattern?
        So ganz hat deine Antwort meine Frage nicht beantwortet.

        • Werner Ziegelwanger sagt:

          Ein Design Pattern bzw. zu Deutsch ein Entwurfsmuster ist ein quasi Standard wie man ein bestimmtes Problem im Source Code optimal darstellt. Jeder gute Programmierer kennt Design Pattern und kann diese am besten im Schlaf in und auswendig anwenden bzw. in bestehenden Code finden.

      • Offler sagt:

        Neuer? Sowohl das Factory Pattern als auch das Abstract Factory Pattern ist im originalen GoF Buch zu Pattern von 1994 drin….

  2. Kane sagt:

    Ich weis ich schon ne Weile her seit jemand da ein Kommentar geschrieben hast und vielleicht hast du das Projekt gar nicht mehr aber kannst du mir sagen wie der Code einer deiner Spezifischen Objekte aussieht? bei mir jammert VS das mein Spezifisches Objekt Abstrakt sei und ich bin mir nicht sicher was ich ändern muss

  3. Tobias sagt:

    Bin grad nur durch Zufall drauf gestoßen, aber da der Code ein paar potentielle Fehler enthält mal ein paar konstruktive Anmerkungen:
    In Charakter.h wird damage nicht initialisiert, das kann dazu führen das einem das Program um die Ohren fliegt (floating point exception).
    Alles was mit new allokiert wird sollte auch wieder mit delete gelöscht werden.
    Am besten gleich Smart Pointer wie unique_ptr oder shared_ptr verwenden. Mit dem RAII Idiom und make_shared/make_unique und Konstruktorargumenten kann man das auch gleich in einer Zeile konstruieren und dafür sorgen das der Code sicher ist.
    JEDE Klasse die Virtuelle Methoden deklariert sollte auch nen virtuellen Destruktor deklarieren.
    NULL ist deprecated, statt dessen sollte nullptr verwendet werden.

    • Werner Ziegelwanger sagt:

      Danke fürs Feedback. Der Code ist nur ein Showcase fürs Pattern und kein Produktivcode. Da er Open Source ist kannst deine Anmerkungen gerne auf GitHub für die Community hinzufügen, würde mich freuen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert