Your SlideShare is downloading. ×
Patrones de diseño y Orientación a Objetos en PHP5 - v0.2.9
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Patrones de diseño y Orientación a Objetos en PHP5 - v0.2.9

24,607
views

Published on

Este manual es sobre la ponencia de "Patrones de diseño y Orientación a Objetos en PHP5", la cual toca los siguientes temas: Definiciones básicas sobre los siguientes términos: Desarrollo de software, …

Este manual es sobre la ponencia de "Patrones de diseño y Orientación a Objetos en PHP5", la cual toca los siguientes temas: Definiciones básicas sobre los siguientes términos: Desarrollo de software, Diseño y Desarrollo Aplicación Web, Tecnología involucrada, Funcionamiento básico, Proyecciones de la Web, Factibilidad para el desarrollo de aplicación. Luego se habla sobre PHP, seguidamente se introduce a PHP5 y sus características de programación Orientación a Objetos. Además se demuestran las nociones básicas de los Patrones de diseños, sus usos, sus ideas básicas para el desarrollo de aplicaciones, clasificaciones, MVC (Model View Controller) aplicándolo en cada una de las capas los patrones de diseño y desarrollo mas comunes con PHP5. Luego se describe el uso de patrones de diseño en la vida real, es decir con usos prácticos, se explica un ejemplo Desglosado del patrón Memento. Siguiendo de con las buenas practicas lo llevamos "De lo horrible a lo practico" dando una guia hacia el Camino MVC en 10 pasos, luego explicamos los Framework, mostramos una tabla comparativa de dichas herramientas en PHP. Y para concluir se demostrara un caso de uso con el Framework de desarrollo Tomates desarrollo hecho en Venezuela, como anexo se dejan las referencias electrónicas de Sitios de Internet.

Published in: Technology

6 Comments
15 Likes
Statistics
Notes
  • Hola de Nuevo leonardo.!!!
    Your presentation I liked very much, because in my company we working with web design,& e-marketing, in the slide we talk about the reasons for have a site in the web, and how you can do it very easy, I invited, to visit my slide and if it likes, please add me to your favorites, thank you very much.

    Congratulations! I’ll add to favorites.

    I hope you add me to your favorite ’♥’ bye bye

    See my presentation - http://slidesha.re/5Td1I5
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • kkkkkkkkkkk
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Hola Muy interesnte la presentación, me encantaría tener mas información acerca de patrones de diseño, no se si podrías compartir
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Hola palotex de nada :P
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • gracias muy buen aporte si tienes mas mejor aun
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total Views
24,607
On Slideshare
0
From Embeds
0
Number of Embeds
11
Actions
Shares
0
Downloads
1,927
Comments
6
Likes
15
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Patrones de diseño y Orientación a Objetos en PHP5 ¡Desarrollo rápido de aplicaciones!
  • 2. Patrones de diseño y Orientación a Objetos en PHP5 Licencia Copyright (c)  2006  Anibal Rojas Copyright (c)  2004­2006  Ernesto Hernández­Novich. Modificaciones y adaptaciones.  Copyright (c)  2006, 2007  Leonardo Caballero / Jesús Lara. Permission  is  granted  to  copy,  distribute  and/or  modify  this  document  under  the  terms  of  the  GNU  Free  Documentation  License,  Version  1.2  or  any  later  version  published  by  the  Free  Software Foundation; with no Invariant Sections, no Front­Cover  Texts, and no Back­Cover Texts.  A copy of the license is included  in the section entitled quot;GNU Free Documentation Licensequot;. ¡Desarrollo rápido de aplicaciones!
  • 3. Patrones de diseño y Orientación a Objetos en PHP5 GNU Free Documentation License Puede obtener una copia de la licencia quot;GNU Free Documentation  Licensequot;  en  los  ficheros  llamados  quot;copyright.txtquot;  en  ingles,  quot;copyright.es.txtquot; en español o en los siguientes sitios en Internet: http://www.gnu.org/copyleft/fdl.html • http://www.fsf.org/licensing/licenses/fdl.html • ¡Desarrollo rápido de aplicaciones!
  • 4. Patrones de diseño y Orientación a Objetos en PHP5 Definiciones básicas Estas definiciones son más importante de lo que parece.  Desarrollo de software. • Diseño Web. • Desarrollo Web. • Aplicación Web. • ¡Desarrollo rápido de aplicaciones!
  • 5. Patrones de diseño y Orientación a Objetos en PHP5 Tecnologías involucradas en la Web. ¡Desarrollo rápido de aplicaciones!
  • 6. Patrones de diseño y Orientación a Objetos en PHP5 Funcionamiento básico de una Aplicación Web. Desde el punto de vista del Usuario: 1) El usuario abre un URL. 2) Llena un formulario. 3) Oprime alguno de los botones. 4) La aplicación genera un nuevo formulario con resultados. ¡Desarrollo rápido de aplicaciones!
  • 7. Patrones de diseño y Orientación a Objetos en PHP5 Funcionamiento básico de una Aplicación Web :: Continuación. Es un documento .php La página se  ejecuta y  Solicita un  cambia  Documento código  HTML La página HTML se  envía al cliente ¡Desarrollo rápido de aplicaciones!
  • 8. Patrones de diseño y Orientación a Objetos en PHP5 Funcionamiento básico de una Aplicación Web :: Continuación. Módulo de Funciones Base de  ODBC Datos Motor  Zend 2 1 3 Compila  6 4 Interfase del servidor 5 Ejecuta ¡Desarrollo rápido de aplicaciones!
  • 9. Patrones de diseño y Orientación a Objetos en PHP5 Proyecciones de la Web. ¡Desarrollo rápido de aplicaciones!
  • 10. Patrones de diseño y Orientación a Objetos en PHP5 Factibilidad para el desarrollo de Aplicaciones Web. • ¿Cuánto cuesta encontrar un programador que sepa todo eso? • ¿Cuánto cuesta mantener toda esta mezcla de multilenguaje? • ¿En cuanto tiempo puede ofrecer al cliente un prototipo de la aplicación? • ¿Cuanto tiempo necesita para cambiar toda la interfaz de usuario de la aplicación  a las necesidades del cliente? • ¿Puede  garantizar  que  la  aplicación  cumpla  con  los  estándares  y  normativas  de  accesibilidad, reusabilidad y operatividad de la Web? ¡Si no sabes responder a estas preguntas con respuestas a tiempos  cortos, prácticos y razonables, ya entiendes el gran problema! ¡Desarrollo rápido de aplicaciones!
  • 11. Patrones de diseño y Orientación a Objetos en PHP5 Hablemos de PHP. Originalmente PHP fue siglas de Personal Home Page Tools. • Creado en 1995 por Rasmu Lerdorf. • Año 1997, cambios significativos. • Al redefinirse el motor recibió las siglas del acrónimo Hypertext Pre Processor • PHP 3, creado por Andi Gutmans y Zeev Zuraski. • Motor Zend. • PHP 4 (año 2000). • PHP 5 (año 2004). • Está previsto el lanzamiento en breve de la rama 6 de PHP. • PHP 4 perderá su estado de estable el 31 de diciembre del 2007. • ¡Desarrollo rápido de aplicaciones!
  • 12. Patrones de diseño y Orientación a Objetos en PHP5 Introducción a PHP5. Soporte sólido para Programación Orientada a Objetos (o OOP) con PHP. • Data Objects. • Mejoras de rendimiento. • Mejor soporte para MySQL con extensión de rewrite completa. • Mejor soporte a XML (XPath, DOM, entre otros). • Soporte nativo para SQLite. • Soporte integrado para SOAP. • Iteradores de datos. • Excepciones de errores. • ¡Desarrollo rápido de aplicaciones!
  • 13. Patrones de diseño y Orientación a Objetos en PHP5 PHP5 y Programación Orientación a Objetos. PHP5 soporta una gran cantidad de funcionalidades para OOP. Métodos constructores y destructores. • Métodos setter y getter. • Métodos mágicos. • Clases, objetos y variables estáticas, privadas y protegidas. • Clases abstractas. • Interfaces. • Abstracción de datos. • Standard PHP Library (SPL). • Clases extendidas, excepciones, iteradores. • ¡Desarrollo rápido de aplicaciones!
  • 14. Patrones de diseño y Orientación a Objetos en PHP5 Patrones de diseño. Los patrones son simples soluciones a problemas recurrentes que ocurren una y otra  vez en nuestro entorno. Luego de llegar a la solución, encapsulamos todas las variables y factores para llegar  a la solución y disponemos de una “receta” para resolver mil veces el problema sin  tener que “reinventar la rueda”. Los  desarrolladores  los  usan  como  una  forma  de  reutilizar  la  experiencia,  clasificando  las  soluciones  bajo  “términos”  de  común  denominación  ¿Un  diccionario?, eso lo haces con un singleton+registry pattern. Causando además, un idioma común entre programadores de distintos lenguajes. Uno de los principales precursores del movimiento acerca de los Design Patterns fue Martin Fowler. ¡Desarrollo rápido de aplicaciones!
  • 15. Patrones de diseño y Orientación a Objetos en PHP5 Patrones de diseño :: Continuación. En el área de patrones de diseño hablamos de solventar problemas de: Interfaz gráfica. ● Optimización de Código. ● Reutilización de componentes. ● Simplicidad de las soluciones. ● ¡Desarrollo rápido de aplicaciones!
  • 16. Patrones de diseño y Orientación a Objetos en PHP5 Uso de los patrones de diseño. Los patrones de diseño nos permiten:  Extensibilidad. • Flexibilidad. • Concurrencia. • Organización. • Soluciones ya probadas y efectivas. • Mayor facilidad para hacer cambios. • Reutilización. • Refactorización. • Idioma común de intercambio de soluciones. • Buenas prácticas en el desarrollo de Software. • ¡Desarrollo rápido de aplicaciones!
  • 17. Patrones de diseño y Orientación a Objetos en PHP5 Ideas básicas en el desarrollo de aplicaciones. Lo que se logra en toda aplicación, al implementar patrones es que, en conjunto con  la programación Orientada a Objetos (OOP): Encapsulemos la lógica de la aplicación de tal manera que sea  ● innecesario pensar a bajo nivel. (¿Tendré que escribir una función que haga eso?) Desviarse de la lógica de mi aplicación. ● (¿Para implementar AJAX debo usar otra cosa?) Preocuparse únicamente por la “operatividad de la aplicación”  ● (¿Funcionará esa implementación de roles y seguridad que me “inventé”?). Lograr una flexibilidad sin límites ● (¿Funcionará ese objeto en otro proyecto futuro?). ¡Desarrollo rápido de aplicaciones!
  • 18. Patrones de diseño y Orientación a Objetos en PHP5 Clasificación de los patrones de diseño. De creación: Como se crean instancias de los objetos y/o como se implementan. Singleton, Multiton, Facade. • Estructurales: Como se relacionan y combinan las clases para crear nuevas estructuras. Abtract Factory, Visitor, Facade, Flyweight, Adapter. • De comportamiento: Como interactúan y cooperan las clases. Decorator, Memento, Chain of Responsability, Flyweight, Adapter. • ¡Desarrollo rápido de aplicaciones!
  • 19. Patrones de diseño y Orientación a Objetos en PHP5 Clasificación de los patrones de diseño :: Continuación. De ámbito: De Como se utilizan dinámicamente los Objetos. Delegator, Observer, Interpreter, Visitor. • De operación De como se comportará la aplicación. Business Logic, Proxy Adapter, Front Controller, Model­View Controller. • ¡Desarrollo rápido de aplicaciones!
  • 20. Patrones de diseño y Orientación a Objetos en PHP5 MVC (Model view controller). 1) Patrón de diseño orientado a objetos. 2) Describe  cualquier  aplicación  con  interacción  humana  y  es  particularmente  adecuado para aplicaciones Web. 3) Separa clara y consistentemente las quot;preocupacionesquot;: 1) Modelo (Model) ­ Interacción con la base de datos. 2) Vista (View) ­ Presentación de la información al usuario. 3) Controlador (Controller) ­ Flujo de información y procesos. Si su aplicación no está diseñada siguiendo MVC, inevitablemente tendrá problemas  de escalabilidad, de mantenimiento y de extensión. ¡Desarrollo rápido de aplicaciones!
  • 21. Patrones de diseño y Orientación a Objetos en PHP5 MVC (Model view controller) :: Continuación. • Permite múltiples representaciones (vistas) de la misma información (modelo). • De  forma  muy  fácil  permite  agregar,  remover  o  cambiar  interfaces  de  usuarios  (vistas). • Permite  responder  a  lo  ingresado  por  el  usuario  (controladora)  para  ser  fácilmente cambiando. • Permite que múltiples desarrollos simultáneamente actualiza la interfaz, la lógica  de negocios o introducir un aplicación nueva sin afectar a otros código fuentes. • Los cambios pueden suceder dinámicamente en la ejecución de la aplicación. • Promete reducir código (ej.  “una vista puede ser usada con diferentes modelos”). • Ayuda a enfocar a los desarrolladores en un solo simple aspecto de la aplicación  al mismo tiempo. ¡Desarrollo rápido de aplicaciones!
  • 22. Patrones de diseño y Orientación a Objetos en PHP5 MVC con PHP5. ¡Desarrollo rápido de aplicaciones!
  • 23. Patrones de diseño y Orientación a Objetos en PHP5 MVC con PHP5 :: Continuación. 1) Solicitud: El usuario ejecuta un Navegador, pide un URL solicitando a la Aplicación. 2) Despacha: La Aplicación delega a la capa Controladora la petición del usuario desde  el Navegador. 3) Almacena: Consulta en la capa Modelo por medio a la capa de Datos del manejador  de base de datos existente. 4) Devuelve: La capa de Datos devuelve los resultados en “data pura” a la capa  Controladora. 5) Genera: La capa Controladora genera la capa de Vista en base a los tipos de datos  generados por la capa de Datos. 6) Responde: La Vista generada se envía como respuesta a la solicitud al  Navegador. ¡Desarrollo rápido de aplicaciones!
  • 24. Patrones de diseño y Orientación a Objetos en PHP5 MVC con PHP5 :: Continuación. ¡Desarrollo rápido de aplicaciones!
  • 25. Patrones de diseño y Orientación a Objetos en PHP5 Clasificación de los patrones de acuerdo a la capa MVC. Capa de Datos (Data Layer) ORM – ActiveRecord. • Data Layer. • Delegator. • Modelo (Lógica) Abstract Factory y Registry. • Value Object. • Business Delegate. • Aggregate Entity. • Service Locator. • Strategy. • ¡Desarrollo rápido de aplicaciones!
  • 26. Patrones de diseño y Orientación a Objetos en PHP5 Clasificación de los patrones de acuerdo a la capa MVC. Controladora Inherit Application Controller. • Front Controller. • Delegate Controller. • Service Controller. • Vista Decoration Filter. • Helper View. • Composite View. • Template View. • Dispatcher View. • ¡Desarrollo rápido de aplicaciones!
  • 27. Patrones de diseño y Orientación a Objetos en PHP5 Patterns Design: the Real Life! Memento + Singleton ­> Gestión de deshacer,rehacer,historia, transacciones. Facade ­> Gestión de documentos de varios tipos en una misma interfaz. Facade + Adapter ­> Una única interfaz de acceso para múltiples bases de datos. Singleton  +  Registry  ­>  Sistemas  de  Diccionario,  i18n  (Internacionalización),  Registros de Sistema y configuración. Abstract  +  Composite  +  Helper  View  ­>  Construcción  de  vistas  complejas  a  partir de archivos sencillos. Observer + State ­> Sistema de gestión online de usuarios. Decorator + Composite ­> Sistemas de reportes. ¡Desarrollo rápido de aplicaciones!
  • 28. Patrones de diseño y Orientación a Objetos en PHP5 Patterns Design: the Real Life! Abstract Factory + Singleton ­> Fabrica abstracta de controles complejos. Flyweight ­> Gestión de vistas y uso de class (CSS) y IDREF (XML). Iterator + Data Layer ­> Explorar datos dentro de los objetos sin iterar sobre el  objeto en si (ej. Explorar sobre los datos de una DB usando FOREACH). Singleton + Decorator + Hierarchical Visitor ­> Gestión de usuarios y Roles. Composite  +  Facade  +  Interpreter  ­>  Gestores  de  idiomas  especializados,  parsers de funciones. Session Facade + Delegator ­> Loggers y gestores de sesiones de usuario. ¡Desarrollo rápido de aplicaciones!
  • 29. Patrones de diseño y Orientación a Objetos en PHP5 Un ejemplo Desglosado (Memento): Necesidad: Retornar un estado previo  ● de una operación  (operaciones “undo” o  “Rollback”). Retonar a estados  ● “específicos” del objeto  (History). Crear estados de “guardado  ● temporal” o “Check points”. ¡Desarrollo rápido de aplicaciones!
  • 30. Patrones de diseño y Orientación a Objetos en PHP5 Un ejemplo Desglosado (Memento): Sumario: (Qué debemos identificar): Identificar  la  clase  que  posee  la  “habilidad”  de  tomar  un  “snapshot”  de  si  ● misma. (clase con el rol “Originator”). Diseñar  una  clase  que  no  hace  nada  más  que  que  aceptar  y  entregar  los  ● distintos “snapshots” de objetos (clase con el rol “memento”). Diseñar  una  clase  “gestora”  a  la  cual  el  “originator”  puede  preguntar  para  ● que  retorne  un  “estado”;  puede  causar  que  el “originator”  vuelva a  estados  previos (clase con el rol “caretaker”). La clase cliente (Originator) sabe “cuando” debe salvarse su snapshot. ● La clase cuidadora (CareTaker) sabe “como” debe guardarse el snapshot. ● La clase contenedora (memento) sabe “donde” debe guardarse el snapshot. ● ¡Desarrollo rápido de aplicaciones!
  • 31. Patrones de diseño y Orientación a Objetos en PHP5 Un ejemplo Desglosado (Memento): Estructura: ¡Desarrollo rápido de aplicaciones!
  • 32. Patrones de diseño y Orientación a Objetos en PHP5 Un ejemplo Desglosado (Memento): Estructura: (Continuación): Diagrama de Secuencia: El  objeto  (originator)  pide  un  “checkpoint”  o  revisión  inicial  a  su  ● custodio (caretaker). El  custodio  (caretaker)  toma  el  objeto  actual  y  guarda  una  copia  en  ● una clase estática memento (Set). Si el cliente desea un “rollback” o deshacer una acción, simplemente  ● le  solicita  al  custodio  retornar  a  un  estado  previo  y  este  “extrae”  del  memento  el  estado  solicitado;  borra  de  memoria  (haciendo  el  checkpoint  respecto  para  posibles  “redo”)  el  Originator  actual  y  lo  reemplaza con el extraído desde el memento. ¡Desarrollo rápido de aplicaciones!
  • 33. Patrones de diseño y Orientación a Objetos en PHP5 Un ejemplo Desglosado (Memento): Implementación: Cada objeto puede llamar “estáticamente” a un “memento object” (Checkpoint State)  ● usando  una  clase  “pasarela”  llamada  Caretaker,  que  toma  las  funciones  de  monitorización del objeto base (Originator); inicialmente el objeto crea una copia de  si mismo dentro del memento (primer estado). Memento  Object  puede  simplemente  recibir  (en  un  arreglo  estático)  nuevas  copias  ● (snapshots)  del  objeto  base  (Originator)  e  indizarlas  para  su  obtención  rápida  (unlimited undo y lista de historia). Memento debe ser “opaco”; es decir, solamente debe saber que guardó un estado de  ● un objeto, sin averiguar que tipo de objeto guardó (Claro que guardando el índice de  “a quien” guardó); adicionalmente, el cliente (Originator) desconoce la naturaleza del  memento (se entiende con él a través del “caretaker”). Para más implementaciones les recomiendo que visiten www.phppatterns.com ¡Desarrollo rápido de aplicaciones!
  • 34. Patrones de diseño y Orientación a Objetos en PHP5 De lo horrible a practico :: El Camino MVC en 10 pasos 1. Desarrollas  proceduralmente  según  tu  manual  de  10  días  de  PHP3,  mezclas  HTML,  código de conexión a la base de datos, loops sobre resultsets, lógica condicional, estilo  (CSS) en una misma página. 2. Te das cuenta que si abstraes proceduralmente la lógica de conexión a datos (conectar,  consultar, insertar, borrar) podrás cambiar de DB sin traumas (eso dices tú). 3. ¿Si abstraes la lógica también, no será mejor?, ¡nacen los includes infinitos!. 4. ¿Y si centralizo esta clase en un objeto?, ¡puedo tener varias instancias!. 5. Creo que la clase hace mucho, ¿por que no la separamos y reducimos el acoplamiento  de los objetos?. 6. Dos objetos diferentes tienen propiedades similares, ¿Por qué no una clase abstracta?. 7. ¿Puedo  gestionar  todo  desde  una  clase  única  de  registro?,  configuraciones  únicas  y  Controladora Frontal. ¡Desarrollo rápido de aplicaciones!
  • 35. Patrones de diseño y Orientación a Objetos en PHP5 De lo horrible a practico :: El Camino MVC en 10 pasos 8. Te  das  cuenta  que  si  separas  el  código  HTML  de  las  clases  de  la  aplicación,  puedes  tener otros tipos de vistas (PDF, XML, WSDL, GTK, entre otros). 9. Tu  gran  aplicación  consiste  en  miles  de  clases,  unidas  entre  sí  (alta  cohesión)  en  distintas  capas  (n­tier),  con  pocas  relaciones  entre  ellas  (bajo  acoplamiento),  que  interactúan  unas  con  otras  sin  conocerse  (alta  composición),  muy  genéricas  (baja  implementación)  y  con  estándares  seguros  sobre  ordenamiento,  nombres  de  funciones (interfaces) y seguimiento de patrones. 10. ¡Felicidades!, haz llegado a MVC! ... ¿y ahora ... que? ¡Desarrollo rápido de aplicaciones!
  • 36. Patrones de diseño y Orientación a Objetos en PHP5 De lo horrible a practico :: Frameworks Un  Framework,  “Marco  de  Trabajo”  o  WAF  (Web  Application  Framework),  es  una  serie de librerías (toolkits) que se han unido bajo un único esquema de colaboración  para  que  de  manera  rápida  (RAD:  Rapid  Application  Development)  logremos  desarrollar nuestras aplicaciones. Entre las ventajas se cuenta: No  hay  que  definir  “marco  de  desarrollo”,  solo  “rellenar”  los  huecos  que  los  • frameworks nos indican. Trabajamos sobre un Estándar que miles de personas ya conocen. • Facilidad para encontrar herramientas, librerías o documentación. • Relación Coste de aprendizaje vs. Aplicabilidad mínima. • ¡Desarrollo rápido de aplicaciones!
  • 37. Patrones de diseño y Orientación a Objetos en PHP5 De lo horrible a practico :: Frameworks Algunos Framework MVC: Solar. • CakePHP. • CodeIgniter. • Symfony. • PHP on Trax. • Zend Framework. • Agavi, entre otros... • ¡Desarrollo rápido de aplicaciones!
  • 38. Patrones de diseño y Orientación a Objetos en PHP5 Comparativa de 10 Framework en PHP ¡Desarrollo rápido de aplicaciones!
  • 39. Patrones de diseño y Orientación a Objetos en PHP5 Conclusiones El desarrollo de web aplicaciones mezcla es un conjunto de tecnologías,  estándares  y normativas de accesibilidad, reusabilidad y operatividad de la Web que se deben  cumplir para evitar posteriores “dolores de cabeza” por desconocimiento del entorno  de despliegue de la aplicación, es decir la Web. Los patrones de diseño, es una forma simple de resolver problemas cotidianos y que  que  son  muy  repetitivos  en  nuestro  entorno.  No  requiere  una  implantación  con  lenguaje de programación por lo que ofrece, un idioma común entre programadores  de distintos lenguajes. ¡Desarrollo rápido de aplicaciones!
  • 40. Patrones de diseño y Orientación a Objetos en PHP5 Conclusiones :: Continuación. La programación MVC aplicada a la web no es una opción, ¡es una necesidad! ¿Por que? Desarrollas para una interfaz, no para una implementación. • Todo tu equipo se dedica a su especialidad preferida. • Desarrollo sostenible y mantenible. • Es posible migrar en diferentes direcciones. • Evolución rápida de la aplicación. • ¡Terminas más rápido!. • ¡Desarrollo rápido de aplicaciones!
  • 41. Patrones de diseño y Orientación a Objetos en PHP5 Conclusiones :: Continuación. Los llamados “Framework” o , “WAF”, es una serie de librerías (toolkits) que se han  unido  bajo  un  único  esquema  de  colaboración  para  que  de  manera  rápida  (RAD:  Rapid Application Development) logremos desarrollar nuestras aplicaciones. ¡Desarrollo rápido de aplicaciones!
  • 42. Patrones de diseño y Orientación a Objetos en PHP5 Sitios en Internet :: Continuación Definiciones básicas Desarrollo de software ­ Wikipedia (http://es.wikipedia.org/wiki/Desarrollo_de_software) • * Diseño web ­ Wikipedia (http://es.wikipedia.org/wiki/Diseno_web) • Desarrollo web ­ Wikipedia (http://es.wikipedia.org/wiki/Desarrollo_web) • Aplicación web ­ Wikipedia (http://es.wikipedia.org/wiki/Aplicacion_web) • Patrones de diseño con PHP5 (http://www.phppatterns.com/) • Charla “Desarrollo de Aplicaciones Web con Perl ­ Simplicidad, Productividad y  • Elegancia”, Copyright (c) 2004­2006, Ernesto Hernández­Novich, VELUG, Caracas Perl  Mongers. <emhn@usb.ve> Charla “Desarrollo web en Python usando el framework Django” ­ Blog de MilMazz •          (http://www.milmazz.com/) ¡Desarrollo rápido de aplicaciones!
  • 43. Patrones de diseño y Orientación a Objetos en PHP5 Sitios en Internet :: Continuación Patrones de Diseño * Patrón de diseño ­ Wikipedia (http://es.wikipedia.org/wiki/Patron_de_diseno) • Design pattern (computer science) ­ Wikipedia  •          (http://en.wikipedia.org/wiki/Design_pattern_(computer_science)) MVC ­ Wikipedia (http://es.wikipedia.org/wiki/MVC) • Model View Controller ­ Wikipedia (http://en.wikipedia.org/wiki/Model­view­controller) • Patrones de Diseño (http://home.earthlink.net/~huston2/dp/patterns.html) • ¡Desarrollo rápido de aplicaciones!
  • 44. Patrones de diseño y Orientación a Objetos en PHP5 ¡Gracias por su atención! ¡Visita nuestros Blog! http://lcaballero.8k.com/ http://www.jesuslara.com.ve/blog/ ¡Visita y descarga este trabajo! https://finde.gob.ve/projects/lcaballero­doc/ ¡Escribenos! leonardocaballero@gmail.com jesuslara@gmail.com ¡Desarrollo rápido de aplicaciones!