dedlfix: Trait oder Elternklasse in einer Klassen Gruppe?

Beitrag lesen

Tach!

Alle Klassen müssen über die selben Methoden verfügen:

protected function addString ( string $string ) : void;

public function getString () : string;

Kann man dieses Klassen Gebildes mit Traits oder mit einer Elternklasse realisieren? Ich sehe da Pros & Cons: Hab ihr erfahrungen?

Wenn etwas zu dem gehört, das eine Klasse ausmacht, dann würde ich es ihr direkt einbauen. Oder über Vererbung mitgeben, wenn der Code wiederverwendet wird. Die Basisklasse wird dabei abstrakt erstellt, wenn sie nicht selbständig verwendet werden kann. Code, der in nicht zusammenhängenden Klassen wiederverwendet werden soll, kommt in Traits. Falls überhaupt und sich kein besseres Konstrukt findet (Service zum Beispiel).

Ich für meinen Teil habs' mit einer abstrakten Elternklasse realisiert, von der alle Klassen erben und dann die Elternklasse mit Traits versehen. So spart man sich gehörig schreibarbeit.

Schreibarbeit ist nicht das Hauptkriterium, sondern das Veständnis des Codes für Außenstehende, also auch für dich in drei Wochen, und die Wartbarkeit. Damit ergibt sich quasi von selbst, dass man kein Dopplungen einbaut.

dedlfix.

0 61

Trait oder Elternklasse in einer Klassen Gruppe?

MB
  • php
  • programmiertechnik
  • projektverwaltung
  1. -2
    pl
    1. 0
      Gunnar Bittersmann
      • programmiertechnik
      1. -1
        pl
        1. 2
          Tabellenkalk
        2. 3
          Christian Kruse
          1. 0
            Rolf B
            1. 0

              Grundlegende Lernstrategien

              Der Martin
              • sonstiges
              1. 0
                Gunnar Bittersmann
        3. 1
          Felix Riesterer
    2. 1
      Tabellenkalk
    3. 1
      Felix Riesterer
    4. 0
      MB
      1. -1
        pl
        1. 0
          MB
          1. 1
            Felix Riesterer
            1. 0
              MB
              1. 1
                Tabellenkalk
                1. 0
                  MB
              2. 1

                Plural-s und Schriftformatierung

                Der Martin
                • markdown
                • sprache
                1. 0
                  MB
                  1. 0
                    Tabellenkalk
                    1. 0
                      MB
                      1. 3
                        Der Martin
                        1. 0
                          MB
                          • markdown
                  2. 0
                    Matthias Apsel
                    1. 0
                      Der Martin
                  3. 0
                    Der Martin
                    1. 0
                      MB
                2. 0
                  Der Martin
                  1. 0
                    Matthias Apsel
                    1. 0
                      Tabellenkalk
          2. -3
            pl
            1. 0
              Christian Kruse
            2. 0
              pl
              1. 0
                pl
              2. 2
                MB
                1. 0
                  pl
            3. 0
              Rolf B
            4. 1
              MB
              1. -3
                pl
                1. 1
                  MB
                  1. 0
                    Gunnar Bittersmann
                  2. 0
                    MB
                    • meinung
                    1. -1
                      pl
                      1. 0
                        MB
                      2. 0
                        Rolf B
          3. 0
            pl
            1. 1
              Mitleser
            2. 0
              MB
              1. -1
                pl
                1. 0
                  MB
    5. 0
      MB
      1. -3
        pl
        1. 0
          Rolf B
  2. 0
    pl
    1. 0
      MB
  3. 1
    dedlfix
    1. 0
      MB
  4. 0

    Dependency Injection, Vorsicht Falle

    pl
    1. 1
      dedlfix