Der-Dennis: OOP: Design Patterns (Factory Method, Dependency Injection, ...)

Beitrag lesen

Hey hotti,

auch Dir vielen Dank für Deine Antwort.

Du beschreibst einen Data Abstraction Layer (DAL).

Nach meinem Kenntnisstand und dem Beispiel im Ausgangsposting, grundsätzlich ja.

Den würde ich als Klasse realisieren,

Das ist auch so geplant. Allerdings würden ja alle in meinem Ausgangsposting beschriebenen Entwurfsmuster (PHP-)Klassen verwenden, sodass mich interessieren würde, warum Du ...

Entwurfsmuster 1 und 2.

... bevorzugen würdest? Dedlfix und Sven Rautenberg haben mir ja im Verlauf dieses Themas schon gute Begründungen und Erklärungen geliefert, warum insbesondere diese beiden Muster Nachteile mit sich bringen (könnten).

Du brauchst Scnittstellen, die zwischen einer zentralen Datenhaltung und verteilten Daten vermitteln müssen, das ist Sache des DAL.

Auch das ist richtig und auch in ähnlicher Form geplant. Allerdings spräche das doch allgemein gegen Muster Nummer 1? Oder hast Du da noch andere Ansätze?

Ergänzung Klassenhierarchie:

DAL-Baseclass: ORM, sitzt auf einer DB als Data-Layer
Subklassen:
ORM::XML, ORM::INI

Beispiel "ORM::XML::branchin": Methode zum Einbau eines aus XML kommenden Verzeichniszweiges in die zentrale Konfiguration.

Die Subklassen beschreiben die Umsetzung/Einbau von XML, INI in die Datenstruktur des ORM. Die Application arbeitet mit einer Datenstruktur oder mit Methoden, die von Baseclass ORM bereitgestellt werden.

Wenn ich Dich richtig verstehe ist dies Entwurfsmuster 2?

[...] Architektur meines CMS, stellt die Position des DAL als Tie-Klasse dar:

Tie-Klassen

Schöne Übersicht! Allerdings geht's dabei ja um die gesamte Anwendung und nicht um die Frage nach den Entwurfsmustern. Hab mir das Bild mal gespeichert (falls ich darf!?). Finde, das ist eine schöne Übersicht, wie die einzelnen Komponenten zusammenspielen können.

Gruß, Dennis

Ps: Du schreibst ja in Perl. Das fand ich persönlich sehr unübersichtlich. Ich möchte keine neue Diskussion "Perl vs. PHP" anzetteln (die gab's ja glaub' ich schon genug), hätte aber eine kurze Frage: Wo liegen _grundsätzlich_ (Syntax ausgenommen!) die Unterschiede zwischen beiden Sprachen? Mir kamen beide vom Umfang her immer relativ ähnlich vor.
Mit grundsätzlich meine ich beispielsweise: Mehrfachvererbung? Implizite Typumwandlung? usw.

0 70

OOP: Design Patterns (Factory Method, Dependency Injection, ...)

Der-Dennis
  • php
  1. 0
    Tom
    1. 0
      Der-Dennis
      1. 0
        Tom
    2. 0
      Tom
      1. 0
        Der-Dennis
    3. 0
      dedlfix
      1. 0
        Tom
        1. 0
          dedlfix
          1. 0
            Der-Dennis
            1. 0
              Der-Dennis
              1. 0
                jobo
                1. 0
                  Tom
                  1. 0
                    Der-Dennis
                    1. 0
                      Tom
                      1. 0
                        Der-Dennis
                        1. 0
                          Tom
                          1. 0
                            Der-Dennis
                            1. 0
                              Tom
                              1. 0
                                Der-Dennis
                2. 0
                  Der-Dennis
            2. 0
              Sven Rautenberg
              1. 0
                jobo
                1. 0
                  Der-Dennis
  2. 0

    Konfigurationsklassen für ein MVC-Framework

    Feldspar
    • programmiertechnik
    1. 0
      Der-Dennis
      1. 0
        Feldspar
        1. 0
          Der-Dennis
  3. 0
    dedlfix
    1. 0
      Der-Dennis
      1. 0
        dedlfix
        1. 0
          Der-Dennis
          1. 0
            dedlfix
            1. 0
              Der-Dennis
              1. 0
                dedlfix
                1. 0
                  Der-Dennis
  4. 0

    OOP: Design Patterns ... -> Zend Framework

    jobo
    1. 0
      Der-Dennis
      1. 0
        jobo
        1. 0
          Der-Dennis
          1. 0
            dedlfix
            1. 0
              jobo
  5. 0
    Sven Rautenberg
    1. 0
      jobo
      1. 1
        Sven Rautenberg
        1. 0
          jobo
          1. 0
            Der-Dennis
    2. 0
      Der-Dennis
      1. 0
        Sven Rautenberg
        1. 0
          Der-Dennis
      2. 0
        dedlfix
        1. 0
          Der-Dennis
          1. 0
            dedlfix
            1. 0
              Der-Dennis
              1. 0
                dedlfix
                1. 0
                  Der-Dennis
                  1. 0
                    dedlfix
                    1. 0
                      Der-Dennis
                      1. 0
                        dedlfix
                        1. 0
                          Der-Dennis
  6. 0

    Bin erst am Montag wieder da

    Der-Dennis
  7. 0
    hotti
    1. 0
      hotti
      1. 0
        Der-Dennis
        1. 0
          hotti
          1. 0
            Der-Dennis
            • perl
          2. 0
            dedlfix
            1. 0
              Der-Dennis
        2. 0
          hotti
          1. 0
            Der-Dennis
            • perl