782 Aufrufe
Gefragt in Skripte(PHP,ASP,Perl...) von
Hallöchen,

hab in dem Sinne kein Problem, sondern eher eine Frage über die optimale Programmierung einer Klasse. Folgender Hintergrund:

Es gibt mehrere Systeme, die ich über eine XML-Schnittstelle abfragen bzw. mit Daten "beliefern" kann. Hierzu nutze ich meistens XMLRPC, es gibt aber auch Systeme, wo ich andere Techniken nutzen muss.

Da die Systeme so unterschiedlich sind, habe ich für jedes System eine eigene Klasse geschrieben, die die Kommunikation übernimmt.

Damit es in meinem Programm leichter ist, die Klassen zu benutzen, habe ich z.b. die Abfragen so gebaut, dass die Rückgabewerte einer bestimmten Methode immer den gleichen Rückgabewert haben, also etwa false bei Fehlern oder ein Array von der gleichen Struktur bei Erfolg.

Die Frage ist jetzt, ob das so sinnvoll ist? Ich hatte mir zuerst gedacht, dass ich ein Interface schreibe, dass ich in den Klassen dann implementiere, aber hier kann ich ja z.b. nur sagen, dass bestimmte Methoden implementiert werden müssen, aber nicht welchen Rückgabewert sie haben müssen. Aber bei Interfaces hab ich ja keinen Einfluss auf die Eigenschaften oder? Deshalb hab ihc mir gedacht, ich mache einmal ein Interface, damit die Methoden gleich heißen und einmal eine Elternklasse mit den entsprechenden Eigenschaften. Ist das dann nicht irgendwie fehleranfällig?

Und dann noch eine andere Frage wegen dem Stichwort "statisch".
Ich habe einen Cronjob wo ich diese Schnittstellen nutzen muss/will. Mein Programm hat aber mehrere Accounts, und jeder Account hat eigene Benutzerdaten für die Schnittstellen (von den externen Systemen). Also muss ich in dem Cronjob über alle Accounts iterieren und jedesmal ein neues Objekt für die zugehörige Schnittstelle erstellen. WEnn jetzt ein Account mehrere Schnittstellen benutzt und ich z.b. 50 Accounts habe mit jeweils 3 Schnittstellen, muss ich in dem Cronjob ja 50*3 = 150 Objekte erzeugen! und der cronjob läuft einmal die minute... bisher hat das keine probleme gemacht, der cronjob läuft in 2- 10 sekunden durch und ich löcshe nach der benutzung die objekte wieder, aber macht es hier vielleicht sinn, die klassen für die schnittstellen statissch zu machen, damit ich nicht extra objekte erzeugen muss?

Für Tipps bin ich sehr dankbar...

Gruß Daniel

1 Antwort

0 Punkte
Beantwortet von
kann hier niemand nen kleinen tipp geben? :-(
...