Class GenericFactory
Die GenericFactory-Klasse erlaubt die Instanzierung von Objekten zur Laufzeit und dient zur "Herstellung" von Objekten. Über die Methode getInstance() kann eine neue Instanz oder - wenn eine Instanz mit dem Namen bereits existiert - diese Instanz geholt werden. Für jeden Namen wird genau eine Instanz erstellt.
Im Gegensatz zur AbstractFactory kann die GenericFactory Objekte von allen von Alvine abgeleitete Klassen erstellen und zentral über den Namen verwalten. Die Prüfung erfolgt anhand des Namens und des Klassennamens.
WICHTIG: Die Argumente spielen bei der Prüfung, ob eine Instanz bereits registriert wurde, keine Rolle. Ist ein Klasse mit einem Namen registriert, so kann unter diesem Namen keine anderes Objekt mit anderen Argumenten registriert werden.
$args = array(1, 2); $obj1 = GenericFactory::getInstance('ABC', $args); $args = array(1, 2, 3); $obj2 = GenericFactory::getInstance('ABC', $args); // $obj2 ist identisch zu $obj1, da das erste Objekt unter dem Namen default registriert wurden.
- Alvine\Core\Alvine implements Serializable uses Alvine\Core\SerializableImplementation
- Alvine\Core\GenericFactory
Namespace: Alvine\Core
Package: Alvine\Core
Category: Framework
License: Licence
Author: schukai GmbH info@schukai.de
Version: Release: $Revision: 173 $
Since: 20110904
Link: Alvine
Located at core/GenericFactory.class.php
protected
|
|
public static
mixed
|
#
getInstance( string $className, array $arguments = array(), string $name = null )
Instanz erstellen |
__call(),
__clone(),
__get(),
__set(),
__toString(),
equals(),
getClass(),
getClone(),
getClosure(),
getHashCode(),
getID(),
getShortID(),
isCallable(),
isInstanceOf(),
propertyExists()
|
serialize(),
unserialize()
|
checkAndAdjustSerialisation(),
serialize(),
unserialize()
|
APIVERSION,
IDENTIFICATION,
SERIALVERSION,
VERSION
|
protected
string
|
$name
Name der Instanz |
#
''
|
protected static
array
|
$instances
Speicher der Instanzen |
#
array()
|
$hash,
$properties
|