David ValverdeDavid ValverdeSoftware Developer

Blog

Página en la que voy a compartir conocimientos, opiniones e ideas contigo. Para que fuera más interesante, y esto fuera una conversación y no un monólogo, me gustaría que comentaras en los posts con lo que quieras: dudas, correcciones y/o posibles temas futuros para escribir. De este modo aprenderemos todos un poco más.

Tipos de patrones de diseño

El otro día estuve hablando un poco sobre qué son los patrones de diseño. Vimos que nos podían ayudar resolviéndo algunos problemas que se nos pueden presentar durante el desarrollo de nuestros proyectos. Pues bien, dependiendo del problema al que nos enfrentemos, podemos agrupar los patrones en tres grandes grupos:

  • Patrones de creación. Estos patrones se utilizan cuando debemos crear objetos pero debemos tomar decisiones dinámicamente en el proceso de creación. Para ésto lo que hacemos es abstraer el proceso de creación de los objetos para realizar la decisión de qué objetos crear o cómo crearlos para el momento en que se tenga que hacer. Patrones de creación son: Abstract Factory, Builder, Factory Method, Object Pool, Prototype y Singleton.
  • Patrones estructurales. Nos describen como utilizar estructuras de datos complejas a partir de elementos más simples. Sirven para crear las interconexiones entre los distintos objetos y que estas relaciones no se vean afectadas por cambios en los requisitos del programa. Algunos ejemplos de patrones estructurales son: Adapter, Bridge, Decorator, Facade, Flyweight y Proxy.
  • Patrones de comportamiento. Fundamentalmente especifican el comportamiento entre objetos de nuestro programa. Hay varios: Chain of Responsability, Command, Interpreter, Iterator, Mediator, Memento (o Snapshot), Observer, State, Strategy, Template Method y Visitor.

2 comentarios en “Tipos de patrones de diseño

Pon un comentario

Tu dirección de email no será publicada.

Puedes usar estas etiquetas y atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>