Sven Rautenberg: Zeitumstellung deaktivieren

Beitrag lesen

Moin!

Und da ich sowieso schon total vom Thema abgekommen bin, baue ich sogar php funktionen in Klassen um. So hab ich eine curl Klasse gebaut. Intern wird curl mit all seinen Facetten aufgerufen. Neben dem Vorteil dass die Aufrufe meist einfacher sind, kommen noch spezielle Features dazu. So kann die Curl Klasse cachen. Wird also nochmals der gleiche aufruf gemacht, sow ird erstmal geguckt ob es dafür bereits ein Ergebnis gibt. Exceptions logging ist auch inklusive.

Wenn du IN deine EINZIGE curl-Klasse das Caching mit eingebaut hast, solltest du das noch mal überdenken. Deine Klasse tut dann zuviel. Caching ist definitiv für sich allein genommen schon komplex, und man will es eigentlich aus der eigentlichen Logik des Tuns raushalten, was für sich genommen ja auch schon komplex ist.

Caching ist außerdem noch grundsätzlich schwierig, weil es als "cross-cutting concern" sich der üblichen Schichten-Logik einer Applikation widersetzt. Caching kann man halt auf jeder Ebene gut gebrauchen. Eine gute Herangehensweise ist, das Caching als Decorator-Pattern um die eigenliche Klasse herumzuwickeln. Dadurch hat man sehr einfach die Wahl, ob man Caching aktiv haben will oder nicht, indem man den Decorator einfach weglässt - insbesondere wenn man Debugging betreiben will und den Request nach außen jedesmal braucht, oder um auszuschließen, dass die Probleme am Caching selbst liegen.

- Sven Rautenberg