patrones de diseño en PHP

patrones de diseño en PHP

Patrón de diseño (design patterns) es:

  1. Una solución estandar para un problema común de programación.
  2. Un lenguaje de programación. de alto nivel.
  3. Conexiones entre componentes de programas.
  4. La forma de un diagrama de un objeto.

Para que una solución sea considerada un patrón debe:

  1. Ser reusable.
  2. Ser flexible.
  3. Haber resuelto problemas similares en ocasiones anteriores.

Existen muchos patrones que se pueden implementar en PHP de acuerdo a nuestras necesidades(Singleton, MVC, Factory, entre otros), les mostrare un pequeño ejemplo de como implementar un patrón, para esto utilizaremos el patrón Factory Method.

Patrón Factory Method en PHP5

Este patrón nos permite instanciar las clases accediendo por una clase Fabrica(en este caso Database),

Primero crearemos la clase Fabrica

abstract class Database
{
    public static function crear($clase)
    {
        return new $clase;
    }
}

Crearemos las clases MySQL y PostGreSQL

// Clase MySQL
class MySQL
{
	function __toString()
    {
    	return 'Clase MySQL';
    }
}

// Clase PostGreSQL
class PostGreSQL
{
	function __toString()
    {
    	return 'Clase PostGreSQL';
    }
}

La forma clásica de crear seria de esta manera

$oMysql = new MySQL();

Con el patrón Factory Method seria de esta manera

$oMySQL = Database::crear('MySQL');
$oPostG = Database::crear('PostGreSQL');

echo $oMySQL.'<br />';
echo $oPostG;

Con esto podríamos dar mas seguridad a nuestras instancias, realizando algunas rutinas dentro de la clase Database.

Recursos

También te puede interesar

4 Comments

  1. Crysfel
    mar 09, 2009 @ 12:35:18

    Este patrón es uno de mis favoritos jejejeje

    saludos

  2. juan manuel
    oct 20, 2010 @ 14:29:52

    de que te reis? que es el jejejejeje? explicalo asi nos reimos todos, gilun!

  3. carlos
    dic 01, 2010 @ 21:32:38

    Esta bueno el tuto, pero podrias hacer la pagina un poco mas liviana y quitarle un poco todos los widgets que tiene(son extremadamente molestos). los que visitamos este tipo de paginas no nos interesa todo eso.

    Saludos.

  4. Jorge Merino
    jul 06, 2011 @ 21:49:50

    MVC no es un patrón de diseño desde el punto de vista de la programación orientada a objetos.

    MVC forma parte de conceptos de arquitectura de software, y se fundamenta en POO y sus patrones de diseño para llevarlo a cabo.

    Imagina que si haces una casa, el POO son los cimientos, mampostería, bardas, en general, la obra negra. El MVC es lo que le dá la funcionalidad y vista final a esa casa.

    Aqui hay una referencia que lo explica claramente: http://es.wikipedia.org/wiki/Modelo_Vista_Controlador