Patrones de diseño – Lista de los más usados y cuándo utilizarlos
Se pueden definir los patrones de diseño como soluciones técnicas probadas a problemas recurrentes de la programación.
¿Cuáles son los más famosos y cuáles son estos problemas recurrentes? En este articulo propongo una lista de los patrones de diseño más famosos asociados con el problema que solucionan para poderlos encontrarlos de manera rápida.
PHP refactoring
Cada aplicación en continuo crecimiento necesita modificaciones para que sea más rápida, para reorganizarla o para prepararnos a nuevos desarrollos a medio o largo plazo.
Este proceso se llama Refactoring, palabra que mucha gente odia porque necesita recursos para algo que no es ni un producto completo ni una release. Entonces es natural que vuestro Product Owner no lo vea favorablemente. Aunque en continua lucha para el Time To Market los desarrolladores deberían prestar la debida atención a esta fase ya que se podría llegar a la clásica situación de entrada en pérdida en la que para modificar el código spaghetti que hemos generado tiene un coste mayor que refactorizarlo.
Entonces cuáles son las lineas guías para un buen Refactogin? Buscamosles juntos...
Interface vs. Abstract class en PHP
Interface y Abrastract class son conceptos de la OOP poco usados en PHP. Los motivos son principalmente dos:
- requisitos poco claros (o idas poco claras por parte del desarrollador) en la fase de diseño
- poco conocimiento de estos conceptos
Entonces intentamos aclararlos.
Namespaces en PHP 5.3
Hasta hace un par de semanas desconocía que fuera posible en PHP (>=5.3) hacer algo similar a lo que se hace en Java con los packages.
El problema que se nos presenta es lo de las name collitions o sea de la confusión que se puede producir hablando de dos cosas distintas que tienen el mismo nombre. En el caso de PHP se podría producir sobrescribiendo nombres de clases, funciones y constantes.
La solución en PHP es tan sencilla cuanto genial y se llama namespaces. Además si se utiliza en la nueva versión de Zend Framework (2.0) será algo bueno ![]()
PHP Output Buffering Control
Cuando después de una petición el servidor envía el html al cliente, éste no se devuelve de una única vez sino a trozos.
¿Podemos hacer algo para controlarlo? La respuesta está en el Output Buffering Control de PHP.
La idea es muy sencilla:
Guardar el output en una variable y devolverla de una única vez.