dedlfix: Fabrikmethoden

Beitrag lesen

echo $begrüßung;

ich blick durch dein Beispiel nicht wirklich durch
wie meinste denn das?

mit Factory:

db = DB.factory('mysql')
  oder
  db = DB.factory('oracle')

BZW was hab ich jetzt für Vorteile?

Beispielsweise braucht deine Anwendung Datenbankzugriff. Nun gibt es für die verschiedenen Systeme unterschiedliche APIs (Programmierschnittstellen), jeder Hersteller kocht da sein eigenes Süppchen. Um den Zugriff zu vereinheitlichen erstellt man sich eine Datenbankabstraktionsschicht. Die besteht aus einer Grund-Klasse für die allgemeinen Funktionen. Erweitert wird sie jeweils von auf das jeweilige System spezialisierte Klassen. Du hast also neben der Klasse DB auch eine DB_mysql und eine DB_oracle. Die Fabrik wählt nun anhand deines übergebenen Parameters aus, welche von DB abgeleitete Klasse sie nun instantiieren soll. Ansonsten müsstest du selbst entscheiden, welche spezialisierte Klasse zu instantiieren ist.

echo "$verabschiedung $name";