Código de PHP - Patrón Factory

Imágen de perfil
Val: 1.009
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Patrón Factorygráfica de visualizaciones


PHP

Publicado el 21 de Octubre del 2008 por Xavi (548 códigos)
10.706 visualizaciones desde el 21 de Octubre del 2008
El patrón Factory permita la instancia de objetos en tiempo de ejecución.
La ventaja de utilizar este patrón de diseño es que tenemos centralizada la creación de los objetos en una clase que a pedido, nos devuelve instancias de los mismos. Es una forma de tener el control de la creación de objetos.
Es llamado el patrón Factory ya que es responsable de "manufacturar" un objeto.
Ejemplo de la utilización del patrón Factory con PHP5.

Versión 1

Publicado el 21 de Octubre del 2008gráfica de visualizaciones de la versión: Versión 1
10.707 visualizaciones desde el 21 de Octubre del 2008
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
<?php
/*
 * Ejemplo de la utilización del patrón Factory
 *
 * El patrón Factory permita la instancia de objetos en tiempo de ejecución.
 * La ventaja de utilizar este patrón de diseño es que tenemos centralizada la
 * creación de los objetos en una clase que a pedido, nos devuelve instancias de
 * los mismos. Es una forma de tener el control de la creación de objetos.
 * Es llamado el patrón Factory ya que es responsable de "manufacturar" un objeto.
 *
 * http://www.lawebdelprogramador.com
 */
 
// Clase para la utilización de base de datos MySQL
class MySQL
{
	public function __construct()
	{
		echo "<br />Constructor MySQL";
	}
 
	// Funcion para conectar con la base de datos...
	public function connect()
	{
		//$link=mysql_connect(...);
		echo "<br />Conectar con MySQL";
	}
}
 
// Clase para la utilización de base de datos PostgreSQL
class PostgreSQL
{
	public function __construct()
	{
		echo "<br />Constructor PostgreSQL";
	}
 
	// Funcion para conectar con la base de datos
	public function connect()
	{
		//link=pg_connect(...);
		echo "<br />Conectar con PostgreSQL";
	}
}
 
class database
{
	//Funcion "static" que se puede instanciar desde fuera del objeto.
	// Tiene que recibir el nombre de la clase a instanciar
	public static function factory($type)
	{
		//Comprovamos que la clase que solicitamos exista
		if(class_exists($type))
		{
			//Devolvemos una instancia de la clase
			return new $type();
		}else
			echo "<br />Error. la case '".$type."' no existe";
		return 0;
	}
}
 
//Realizamos una instancia para el tipo de base de datos MySQL
$obj1=database::factory("MySQL");
$obj1->connect();
//Realizamos una instancia para el tipo de base de datos PostgreSQL
$obj2=database::factory("PostgreSQL");
$obj2->connect();
 
//las funciones connect, se instancian igual ya sean para MySQL como para PostgreSQL
 
?>



Comentarios sobre la versión: Versión 1 (0)


No hay comentarios
 

Comentar la versión: Versión 1

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad

http://lwp-l.com/s1719