Klasse für Produkte und zughörige Bildergalerie

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Klasse für Produkte und zughörige Bildergalerie

    Hi,

    ich habe bisher eine kleine Klasse für Produkte. Nun kommen noch Bildergalerien hinzu. Sollte man dazu eine eigene Klasse anlegen oder kann man das in die Produktklasse unterbringen?

    Die Galerie soll nur Ordner vom Server auslesen. Vorhanden sein soll sowas wie
    - findeGalerie($produkt)
    - findeAlleGalerien()
    - findeGalerieNachHersteller($hersteller)

  • #2
    Sowohl die Galerien als auch die einzelnen Bilder sollten durch eigene Klassen repräsentiert werden. Deine Methodenbeispiele sind Blödsinn. Die Produktklasse sollte eine Zugriffsfunktion wie "getGallery" haben. Das reicht. Alles weitere wird in den entsprechenden Unterklassen abgefackelt (in dem Fall zum Beispiel eine Methode "getImages" innerhalb der Galerieklasse. Sollte im Idealfall ein Set mit Image-Objekten liefern, die wiederum Methoden wie "getThumbnailUrl" und "getFullViewUrl" bereitstellen sollte). Deine Methodenbenamung deutet jedoch darauf hin, dass das OOP-Konzept bei dir missverstanden und falsch durchgezogen wurde.
    Zuletzt geändert von unset; 30.10.2010, 16:22.
    [FONT="Helvetica"]twitter.com/unset[/FONT]

    Shitstorm Podcast – Wöchentliches Auskotzen

    Kommentar


    • #3
      Hi,

      ok dann werde ich die Galerien in eine eigene Klasse packen. Warum auch für die Bilder eine Klasse? Was sollte dann in diese Klasse rein?

      Kommentar


      • #4
        Die Postings haben sich wohl gerade überschnitten.
        Die Methoden habe ich gewählt, um z.b. alle Galerien eines Herstellers anzeigen zu können bzw. alle Galerien die es gibt. Wie kann ich das denn dann lösen?

        Kommentar


        • #5
          Die Methoden, die sie beinhalten könnte, habe ich ja bereits genannt. Die einzelnen Instanzen halten diese Daten vor bzw. alles was nötig ist, um diese Daten zu erzeugen. Natürlich könnte deine Galerie-Klasse auch eine Methode wie zum Beispiel "generateGalleryHTML()" beinhalten, dass den kompletten Galerie-Anzeige-Code erzeugt. Allerdings sollte die Galerie-Klasse dann immer noch die entsprechenden URLs von den einzelnen Image-Instanzen abholen.

          Warum so kompliziert, wirst du denken: Nehmen wir einfach einmal an, dass du ein CDN benutzt oder benutzen wirst (wenn du nicht weißt was das ist bitte Nachschlagen und nicht hier fragen), was dazu führt, dass deine Bilder auf verschiedenen Servern liegen. Irgendwie musst du ermitteln, welche das sind. Das würdest du bei deiner Lösung in der Gallery-Klasse abfackeln, was aber etwas ist, was nichts mit deiner Galerie zu tun hat, wovon sie nichts wissen muss und zu allem Überfluss blähst du die Klasse unnötig auf! Und das ist nur ein Beispiel.


          Zitat von lx-club Beitrag anzeigen
          Die Methoden habe ich gewählt, um z.b. alle Galerien eines Herstellers anzeigen zu können bzw. alle Galerien die es gibt. Wie kann ich das denn dann lösen?
          In dem du alle Produkte des Herstellers ermittelst und von denen wieder alle Galerien. Bzw, um an alle Galerien zu kommen, wirst du ja –*solltest du die Meta-Informationen in deiner Datenbank speichern –*eine Zugriffsklasse erstellt haben. Hier kannst du ja einfach ohne jeglichen Filter (bzw. mit minimalem) alle Galerien einlesen.
          Zuletzt geändert von unset; 30.10.2010, 16:31.
          [FONT="Helvetica"]twitter.com/unset[/FONT]

          Shitstorm Podcast – Wöchentliches Auskotzen

          Kommentar


          • #6
            danke für die Infos. Werde das mal versuchen so hinzubekommen.

            Kannst du mir evtl. ne gute Quelle im Netz nennen oder ein Buch um OOP etwas besser zu verstehen? Du hast mir das ja auch grad gut erklärt :-) Aber ich will ja selber drauf kommen.

            Kommentar


            • #7
              Für Einsteiger, die trockene Lektüre meiden wollen, empfehle ich "Head First –*Design Patterns". So weit ich weiß, gibts das auch auf Deutsch.
              [FONT="Helvetica"]twitter.com/unset[/FONT]

              Shitstorm Podcast – Wöchentliches Auskotzen

              Kommentar


              • #8
                Werde ich mir mal ansehen.

                Nochmal zum Problem: Ich habe jetzt in der Datenbank noch keine Info hinterlegt, ob es eine Galerie gibt oder nicht. Dafür müsste ich dann ja noch die entsprechende Spalte anlegen oder hast du mit den Metainfo etwas anderes gemeint?

                Kommentar

                Lädt...
                X