Alt 04.04.2011, 21:41:53   #1 (permalink)
Erfahrener Benutzer

ID: 174417
Lose-Remote

Reg: 10.03.2007
Beiträge: 666
baserider befindet sich auf einem aufstrebenden Ast
Standard Klassenstruktur

Hi,

folgendes Problem:
Es gibt eine Klasse für Produkte. Nun sollen Produkte bewertet werden. Neben Produkten soll auch allgemein der Shop bewertet werden

Wie könnte am besten eine Klassenstruktur aussehen?
Neben der Produktklasse jeweils eine Klasse für Produktbewertung sowie Shopbewertung? Oder nur eine Klasse für Produkt-und Shopbewertung?
baserider ist offline   Mit Zitat antworten
Gesponsorte Links
Alt 04.04.2011, 21:47:58   #2 (permalink)
return void
Benutzerbild von ice-breaker

ID: 93995
Lose-Remote

ice-breaker eine Nachricht über ICQ schicken
Reg: 27.04.2006
Beiträge: 6.026
ice-breaker genießt hohes Ansehenice-breaker genießt hohes Ansehenice-breaker genießt hohes Ansehenice-breaker genießt hohes Ansehenice-breaker genießt hohes Ansehenice-breaker genießt hohes Ansehenice-breaker genießt hohes Ansehenice-breaker genießt hohes Ansehenice-breaker genießt hohes Ansehenice-breaker genießt hohes Ansehenice-breaker genießt hohes Ansehen
Standard

Eine Klasse Bewertung und ein Marker-Interfaces "Bewertbar".
Produkt und Shop implementieren Bewertbar, eine Bewertung beinhaltet also eine Note und ein Objekt vom Typ Bewertbar.


"Die Wahrheit entgeht dem, der nicht mit beiden Augen sieht." -Orici
ice-breaker ist offline   Mit Zitat antworten
Alt 04.04.2011, 21:52:36   #3 (permalink)
Erfahrener Benutzer

ID: 174417
Lose-Remote

Reg: 10.03.2007
Beiträge: 666
baserider befindet sich auf einem aufstrebenden Ast
Standard

Hi,

ich glaub hab grad nich alles verstanden :-)
Wie ist das gemeint, eine Bewertung beinhaltet also eine Note und ein Objekt vom Typ Bewertbar? Oder kannst es auch ganz kurz am Code zeigen, also so pseudo-mässig
baserider ist offline Threadstarter   Mit Zitat antworten
Alt 04.04.2011, 22:22:22   #4 (permalink)
Erfahrener Benutzer

ID: 217591
Lose-Remote

Aradiv eine Nachricht über ICQ schicken Aradiv eine Nachricht über MSN schicken
Reg: 20.04.2006
Beiträge: 1.543
Aradiv ist ein wunderbarer AnblickAradiv ist ein wunderbarer AnblickAradiv ist ein wunderbarer AnblickAradiv ist ein wunderbarer AnblickAradiv ist ein wunderbarer AnblickAradiv ist ein wunderbarer AnblickAradiv ist ein wunderbarer AnblickAradiv ist ein wunderbarer Anblick
Standard

Könnte das grade mal schnell in JAVA ausdrücken für php bin ich grade zu müde
Code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
public class Poll{ ... } public interface Pollable{ ... } public class Store implements Pollable{ ... } public class Product implements Pollable{ ... }
Aradiv
Aradiv ist offline   Mit Zitat antworten
Alt 04.04.2011, 22:28:38   #5 (permalink)
Erfahrener Benutzer

ID: 174417
Lose-Remote

Reg: 10.03.2007
Beiträge: 666
baserider befindet sich auf einem aufstrebenden Ast
Standard

Hi,

für die Ausgabe wird ja dann jeweils eine Abfrage gemacht zu den Produktbewertungen und eine andere für die Shopbewertungen. Das würde ich dann in die jeweilige Klasse schreiben. Wofür ist das Interface? Was kommt dort rein?

Wie kann man denn in Store und Product auf Poll zugreifen?

Geändert von baserider (04.04.2011 um 22:41:47 Uhr)
baserider ist offline Threadstarter   Mit Zitat antworten
Alt 05.04.2011, 15:24:39   #6 (permalink)
Woohooo!
Benutzerbild von chrissel

ID: 211634
Lose-Remote

chrissel eine Nachricht über ICQ schicken
Reg: 20.04.2006
Beiträge: 4.412
chrissel genießt hohes Ansehenchrissel genießt hohes Ansehenchrissel genießt hohes Ansehenchrissel genießt hohes Ansehenchrissel genießt hohes Ansehenchrissel genießt hohes Ansehenchrissel genießt hohes Ansehenchrissel genießt hohes Ansehenchrissel genießt hohes Ansehenchrissel genießt hohes Ansehenchrissel genießt hohes Ansehen
Standard

Da ice-breaker es als Marker-Interface betitelt hat denke ich, dass das Interface einfach nur existiert und nichts weiter implementiert.
Somit können andere Objekte damit markiert werden, dass sie bewertbaren Inhalt darstellen.

Und die Klasse für die Bewertung beinhaltet dann ein Attribut in welchem eine Klasse vom Typ "bewertbar" (bzw. pollable wie Aradiv es genannt hat) drin steht.
chrissel ist offline   Mit Zitat antworten
Alt 05.04.2011, 17:56:39   #7 (permalink)
Erfahrener Benutzer

ID: 174417
Lose-Remote

Reg: 10.03.2007
Beiträge: 666
baserider befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von chrissel Beitrag anzeigen
Somit können andere Objekte damit markiert werden, dass sie bewertbaren Inhalt darstellen.

Und die Klasse für die Bewertung beinhaltet dann ein Attribut in welchem eine Klasse vom Typ "bewertbar" (bzw. pollable wie Aradiv es genannt hat) drin steht.
das hört sich logisch an, aber ich kapier es leider nicht so richtig. an einem codebeispiel würde es mir bestimmt mehr sagen oder ein Link zu mehr Infos.
baserider ist offline Threadstarter   Mit Zitat antworten
Alt 05.04.2011, 18:10:45   #8 (permalink)
bekämpft die Mächte des Bösen
Benutzerbild von theHacker

ID: 69505
Lose-Remote

theHacker eine Nachricht über ICQ schicken theHacker eine Nachricht über AIM schicken theHacker eine Nachricht über MSN schicken theHacker eine Nachricht über Yahoo! schicken theHacker eine Nachricht über Skype™ schicken
Reg: 20.04.2006
Beiträge: 20.468
theHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes Ansehen
Standard

Zitat:
Zitat von baserider Beitrag anzeigen
an einem codebeispiel würde es mir bestimmt mehr sagen oder ein Link zu mehr Infos.
Was is an diesem Codebeispiel auszusetzen?
theHacker ist offline   Mit Zitat antworten
Alt 05.04.2011, 18:19:10   #9 (permalink)
Erfahrener Benutzer

ID: 174417
Lose-Remote

Reg: 10.03.2007
Beiträge: 666
baserider befindet sich auf einem aufstrebenden Ast
Standard

da ist nix auszusetzen, aber ich würde gern wissen, wie das innerhalb der klassen abläuft
baserider ist offline Threadstarter   Mit Zitat antworten
Alt 05.04.2011, 18:23:31   #10 (permalink)
bekämpft die Mächte des Bösen
Benutzerbild von theHacker

ID: 69505
Lose-Remote

theHacker eine Nachricht über ICQ schicken theHacker eine Nachricht über AIM schicken theHacker eine Nachricht über MSN schicken theHacker eine Nachricht über Yahoo! schicken theHacker eine Nachricht über Skype™ schicken
Reg: 20.04.2006
Beiträge: 20.468
theHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes Ansehen
Standard

Innerhalb der Klassen steht deine Shop-spezifische Implementierung. Wie das genau aussieht, kann man schlecht in 5 Zeilen packen.

Im Normalfall gibt der Benutzer halt eine Bewertung ab und du speicherst sie ab und zeigst sie dann oder einen Durchschnittswert (je nachdem wie so eine Bewertung aussieht) auf einer gesonderten Seite oder auch direkt neben dem Bewertungsbildschirm an. Keine Ahnung, ob es bei dir überhaupt eine Bewertungsseite geben soll oder die Bewertungen über eine Schnittstelle kommen oder von einer anderen Datenquelle eingelesen werden.

So viele Möglichkeiten... die Klassenhierarchie is aber immer dieselbe.
theHacker ist offline   Mit Zitat antworten
Alt 05.04.2011, 18:36:48   #11 (permalink)
Erfahrener Benutzer

ID: 174417
Lose-Remote

Reg: 10.03.2007
Beiträge: 666
baserider befindet sich auf einem aufstrebenden Ast
Standard

Ich meinte eher den Zusammenhang der Poll-Klasse, dann dem Interface und der jeweiligen Bewertungsklasse für Shop und Produkt, und was wo reingehört. Dabei bin ich mir noch unsicher. Also welche Dinge gehören wo rein.
baserider ist offline Threadstarter   Mit Zitat antworten
Alt 05.04.2011, 18:46:02   #12 (permalink)
Erfahrener Benutzer

ID: 174417
Lose-Remote

Reg: 10.03.2007
Beiträge: 666
baserider befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von chrissel Beitrag anzeigen
Und die Klasse für die Bewertung beinhaltet dann ein Attribut in welchem eine Klasse vom Typ "bewertbar" (bzw. pollable wie Aradiv es genannt hat) drin steht.
besonders das hier versteh ich nich nicht so richtig. An einem Stückchen Code ist das wohl besser zu verstehen

Was sollte denn hauptsächlich in die Klasse Poll rein?

Geändert von baserider (05.04.2011 um 19:09:05 Uhr)
baserider ist offline Threadstarter   Mit Zitat antworten
Alt 05.04.2011, 19:28:43   #13 (permalink)
bekämpft die Mächte des Bösen
Benutzerbild von theHacker

ID: 69505
Lose-Remote

theHacker eine Nachricht über ICQ schicken theHacker eine Nachricht über AIM schicken theHacker eine Nachricht über MSN schicken theHacker eine Nachricht über Yahoo! schicken theHacker eine Nachricht über Skype™ schicken
Reg: 20.04.2006
Beiträge: 20.468
theHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes Ansehen
Standard

Zitat:
Zitat von baserider Beitrag anzeigen
Ich meinte eher den Zusammenhang der Poll-Klasse, dann dem Interface und der jeweiligen Bewertungsklasse für Shop und Produkt, und was wo reingehört. Dabei bin ich mir noch unsicher. Also welche Dinge gehören wo rein.
Kannst nur du wissen.

In die Klasse für den Shop, was der Shop kann,
in die Klasse für das Produkt, was das Produkt kann und
in die Klasse Poll stellt die Bewertung da (wobei "Poll" engl. für Umfrage is und "Vote" wohl imo besser passen würde).
Zitat:
Zitat von baserider Beitrag anzeigen
Was sollte denn hauptsächlich in die Klasse Poll rein?
Kommt ganz drauf an, wie bei dir eine Bewertung aussieht. Hab ich aber schon vorhin gesagt, was es da alles für Möglichkeiten gibt.

Die Posts #2 und #4 beantworten deine Frage ganz allgemein. Die konkrete Implementierung liegt bei dir. Das is ja das Tolle an der OOP
theHacker ist offline   Mit Zitat antworten
Alt 05.04.2011, 19:49:48   #14 (permalink)
Erfahrener Benutzer

ID: 174417
Lose-Remote

Reg: 10.03.2007
Beiträge: 666
baserider befindet sich auf einem aufstrebenden Ast
Standard

Hi,

mir fehlt irgendwie die Verbindung. Wo würde ich denn z.B. die Berechnung eines Durchschnittswertes machen? Oder die Gesamtanzahl an Bewertungen?

PHP-Code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
class Product{

   public function 
getVotes($produkt_id){
       return 
Votes::findVotesForProdukt($produkt_id)
   }

}

class 
Shop{
   public function 
getVotes(){
       return 
Votes::findVotesForShop()
   }
}

class 
Vote{
    
//saveVote


Geändert von baserider (05.04.2011 um 20:02:20 Uhr)
baserider ist offline Threadstarter   Mit Zitat antworten
Alt 05.04.2011, 20:35:43   #15 (permalink)
Erfahrener Benutzer

ID: 217591
Lose-Remote

Aradiv eine Nachricht über ICQ schicken Aradiv eine Nachricht über MSN schicken
Reg: 20.04.2006
Beiträge: 1.543
Aradiv ist ein wunderbarer AnblickAradiv ist ein wunderbarer AnblickAradiv ist ein wunderbarer AnblickAradiv ist ein wunderbarer AnblickAradiv ist ein wunderbarer AnblickAradiv ist ein wunderbarer AnblickAradiv ist ein wunderbarer AnblickAradiv ist ein wunderbarer Anblick
Standard

Zitat:
Zitat von theHacker Beitrag anzeigen
(wobei "Poll" engl. für Umfrage is und "Vote" wohl imo besser passen würde)
Wie gesagt war schon etwas müde

Zitat:
Zitat von baserider Beitrag anzeigen
Hi,

mir fehlt irgendwie die Verbindung. Wo würde ich denn z.B. die Berechnung eines Durchschnittswertes machen? Oder die Gesamtanzahl an Bewertungen?
Wo macht es den Sinn?
Muss die Klasse Shop das zählen/anzeigen/berechnen können oder würde es im View vieleicht auch gehen zu schauen was den voteable ist und dann dort die Anzeigen hinschalten weitergereicht wird das dann an Vote.
Oder unterscheidet sich irgendetwas zwischen einem Vote bei einem Product und einem Vote bei einem Shop?

Die Sicherung der Ergebnisse ist dann eine weitere Ebene.

Zitat:
Vote
idproductshopvotesaverage
in nur eines der beiden Felder product und shop ist ausgefüllt das andere ist NULL.

Aradiv

Ps.: DRY & KISS
Aradiv ist offline   Mit Zitat antworten
Antwort

Gesponsorte Links

Anzeige


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 17:51:48 Uhr.