0% encontró este documento útil (0 votos)
15 vistas2 páginas

Patrones de Diseño en Software: Soluciones Clave

El documento describe siete patrones de diseño de software: Adapter, Factory, Singleton, Strategy, Composite, Facade y Observer, cada uno abordando problemas específicos en la creación y gestión de objetos. Estos patrones ofrecen soluciones reutilizables para mejorar la cohesión, reducir el acoplamiento y facilitar la interacción entre componentes. En conjunto, promueven prácticas de diseño efectivas y eficientes en el desarrollo de software.

Cargado por

dabanob
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
15 vistas2 páginas

Patrones de Diseño en Software: Soluciones Clave

El documento describe siete patrones de diseño de software: Adapter, Factory, Singleton, Strategy, Composite, Facade y Observer, cada uno abordando problemas específicos en la creación y gestión de objetos. Estos patrones ofrecen soluciones reutilizables para mejorar la cohesión, reducir el acoplamiento y facilitar la interacción entre componentes. En conjunto, promueven prácticas de diseño efectivas y eficientes en el desarrollo de software.

Cargado por

dabanob
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

1.

Adapter

• Problema: Resolver interfaces incompatibles o proporcionar una interfaz estable


para componentes que tienen diferentes interfaces.

• Solución: Utilizar un objeto intermedio llamado Adapter para convertir la interfaz


original de un componente en otra interfaz que sea compatible con las
necesidades.

2. Factory

• Problema: Determinar quién es responsable de la creación de objetos cuando


hay lógica de creación compleja o se desea separar la creación para mejorar la
cohesión.

• Solución: Crear un objeto de fabricación pura denominado Factory, que se


encargue exclusivamente de crear los objetos necesarios.

3. Singleton

• Problema: Garantizar que una clase tenga exactamente una única instancia y
proporcionar un único punto de acceso global para esta instancia.

• Solución: Definir un método estático en la clase que devuelva esa única instancia
(singleton).

4. Strategy

• Problema: Diseñar diferentes algoritmos o políticas relacionadas, y permitir que


puedan cambiar de forma sencilla.

• Solución: Implementar cada algoritmo o política en una clase independiente que


comparta una interfaz común.

5. Composite

• Problema: Manejar un grupo o estructura compuesta como si fuese un único


objeto (de forma polimórfica).

• Solución: Definir clases para objetos compuestos y atómicos que implementen la


misma interfaz.

6. Facade

• Problema: Proporcionar una interfaz común y unificada para un subsistema que


contiene múltiples implementaciones o interfaces dispares. También sirve para
reducir el acoplamiento entre el subsistema y otros componentes.

• Solución: Crear un único punto de conexión, un objeto llamado Facade, que


envuelve al subsistema y presenta una interfaz única para interactuar con él.

7. Observer

• Problema: Gestionar múltiples objetos interesados en los eventos de un objeto


concreto, permitiendo que cada uno reaccione de manera independiente,
manteniendo un bajo acoplamiento.
• Solución: Definir una interfaz de suscripción (subscriber u observer) que los
objetos interesados implementen. El objeto observado podrá registrar a estos
suscriptores y notificarles cuando ocurra un evento.

Cada patrón tiene como objetivo resolver problemas recurrentes en el diseño de software,
promoviendo soluciones reutilizables y efectivas.

También podría gustarte