Hallo,
das Durchreichen von Datenbank-Adaptern für ActiveRecord oder die Benutzung von Singleton um die Datenbank-Instanz zu holen stört mich gerade.
Ich habe mir überlegt ob eine User-Klasse nun nicht einen Event werfen könnte um wer auch immer sich für diesen Event eingetragen hat, die Speicherung übernehmen zu lassen.
User.class.php
events.inc.php
Im Prinzip geht das ja in Richtung Inversion of Control, welches ja auch im Zusammenhang mit Dependency Injection genannt wird. Letzteres scheint mir allerdings etwas kompliziert (ja die Scheu) bzw. etwas zu überladen.
Was haltet ihr von der Event-basierten Speicherung? Im Event-Kontext könnte ich ja alle Informationen ablegen, um mehr als nur "getSuccess" als Feedback anzubieten, eben auch das Transportieren von Werten (User-Eigenschaften zu read()).
Was wäre eure Meinung dazu?
Wie ich dadrauf gekommen bin der Vollständigkeit halber:
Designfrage 2: das leidige mitschleifen von Parametern - Forum: phpforum.de
das Durchreichen von Datenbank-Adaptern für ActiveRecord oder die Benutzung von Singleton um die Datenbank-Instanz zu holen stört mich gerade.
Ich habe mir überlegt ob eine User-Klasse nun nicht einen Event werfen könnte um wer auch immer sich für diesen Event eingetragen hat, die Speicherung übernehmen zu lassen.
User.class.php
PHP-Code:
<?php
class User {
// ..
public function save() {
$event = new Event(__METHOD__, $this);
$event = Registry::get("EventDispatcher")->trigger($event);
return $event->getSuccess()
}
// ..
?>
PHP-Code:
<?php
$eventDispatcher = new EventDispatcher();
$eventDispatcher->handle("User::save", new Database_Csv());
$eventDispatcher->handle("Mailbox::save", new Database_Mysql());
// ..
Registry::set("EventDispatcher", $eventDispatcher);
?>
Was haltet ihr von der Event-basierten Speicherung? Im Event-Kontext könnte ich ja alle Informationen ablegen, um mehr als nur "getSuccess" als Feedback anzubieten, eben auch das Transportieren von Werten (User-Eigenschaften zu read()).
Was wäre eure Meinung dazu?
Wie ich dadrauf gekommen bin der Vollständigkeit halber:
Designfrage 2: das leidige mitschleifen von Parametern - Forum: phpforum.de
Kommentar