Da sind ja schon ein paar Ansatzpunkte.
Zum einen kannst du die Datenbankabfragen auslagern. Je nach dem arbeitet man hier für gewöhnlich entweder mit DataObjaces nach dem Active Record Modell. Hier repräsentiert jedes Objekt einen Datensatz in einer Datenbank-Tabelle und übernimmt die Speicherung seiner selbst sozusagen selbst. Ist aber meistens sehr Ressourcenfressend und daher grade für Browsergames sichr wenig geeignet.
Der andere Weg sind DataAccessObjects. Diese stellen "meschenlesbare" Methoden zur verfügung, wie z.B. getAllRessourcesOnPlanet($sPlanet) oder mit was ihr sonst so in eueren Games zu schaffen habt. Die DAOs kennen die Datenbank-Verbindungs-Objekte und übergeben denen die passenden Queries. So musst du also bei Änderungen am DB-Design bzw. Wechsel des DB-Systems nur die DAOs anpassen.
Ansonsten kann ich mir kaum vorstellen, dass dies einzelnen Methoden nicht in logische Untereinheiten geteilt werden können. Wie angedeutet: Ich hab keineAhnung von Browsergames, abe da gib es doch sicherlich Gruppen von Funktionen, die man zusammenfassen kann. Funktionen zum Bewegen von Spielobjekten, dann welche für Kämpfe vielleicht. Oder andersrum, Objekte für alle Aktionen von Menschen, dann welche für alle Aktione von Fahrzeugen, dann für Minen, was weiß ich.
Basti |