La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Principios y Patrones de Diseño

Presentaciones similares


Presentación del tema: "Principios y Patrones de Diseño"— Transcripción de la presentación:

1 Principios y Patrones de Diseño
Basado en el artículo “Principles and Patterns” de Robert C. Martin Arquitectura de software Dominio de patrones de diseño: módulos y su interconexión Copyright © 2000 by Robert C. Martin. All Rights Reserved

2 INTRODUCCION: El diseño de muchas aplicaciones de software comienza como una imagen o idea en la mente de sus diseñadores. Los patrones de diseño son descripciones de clases y objetos relacionados que están adaptados para resolver un problema de diseño general en un contexto determinado.

3 SINTOMAS DE LA DEGRADACION
RIGIDEZ: Tendencia del software a ser difícil de cambiar. FRAGILIDAD:Un cambio en alguna parte de un software, ocasiona cambios en otros sectores INMOVILIDAD: Inhabilidad de reusar software

4 SINTOMAS DE LA DEGRADACION
VISCOSIDAD: De entorno: Entorno de desarrollo ineficiente. De diseño: Cuando los métodos de preservar el diseño son mas difícil de emplear que los métodos que no preservan el diseño.

5 PRINCIPIOS DE DISEÑO DE CLASES
PRINCIPIO ABIERTO-CERRADO (OCP): Un módulo debe ser abierto para extensión pero cerrado para modificación. PRINCIO DE SUSTITUCION DE LISKOV (LSP): Las subclases deben ser sustitutas de sus clases base

6 PRINCIPIOS DE DISEÑO DE CLASES
PRINCIPIO DE INVERSION DE DEPENDENCIA (DIP): Dependa de abstracciones, no dependa de implementaciones. PRINCIPIO DE SEGREGACION DE INTERFACES (ICP):Los clientes de una clase no deben depender de interfaces que no utilicen.

7 PRINCIPIOS DE ARQUITECTURA DE PAQUETES
PRINCIPIOS DE COHESION DE PAQUETES: Las clases en un mismo paquetes se usan juntas. PRINCIPIOS DE ACOPLAMIENTO DE PAQUETES: Son normas que rigen la interrelación entre paquetes.

8 PRINCIPIOS DE COHESION DE PAQUETES
Principio de equivalencia de liberación y reuso (REP): Agrupar las clases reusable en paquetes que se puedan administrar y controlar. Principio de agrupación común (CCP): Clases que cambian juntas pertenecen a un mismo grupo. Principio de reuso común (CRP): Clases que no son rehusadas juntas no deben ser agrupadas.

9 PRINCIPIOS DE ACOPLAMIENTO DE PAQUETES
Principio de dependencia acíclica (ADP): Las dependencias entre paquetes no debe formar ciclos. Principio de dependencia estable (SDP): La dependencia debe ser en dirección de la estabilidad. Principio de abstracción estable (SAP): Los paquetes estables deben ser paquetes abstractos.

10 PATRONES DE ARQUITECTURA ORIENTADA A OBJETOS
La definición esencial de un patrón de diseño es una buena solución, conocida y desgastada, a un problema común.

11 PATRONES DE ARQUITECTURA ORIENTADA A OBJETOS
Abstract Server: Cuando un cliente depende directamente del servidor violamos el Principio de Dependencia Inversa, este problema lo resolvemos introduciendo una interface. Adapter: Se utiliza para transformar una interfaz en otra, de tal modo que una clase que no pudiera utilizar la primera, haga uso de ella a través de la segunda Observer: Se usa cuando no queremos que el detector sepa del actor.

12 PATRONES DE ARQUITECTURA ORIENTADA A OBJETOS
Bridge: Se usa para desacoplar una abstracción de su implementación. Abstract Factory: Permite trabajar con objetos de distintas familias de manera que las familias no se mezclen entre sí y haciendo transparente el tipo de familia concreta que se esté usando.

13 CONCLUSION Los patrones de diseño describen soluciones simples y elegantes a problemas específicos de diseño de software orientado a objetos. Los mismos representan soluciones que han sido desarrolladas y han ido evolucionando a lo largo del tiempo.

14 BIBLIOGRAFIA Principles and Patterns2009-Articulo de Robert C Martin
Programación en java: Fundamentos de programación y principios de diseño “Patrones de diseño”. Gamma, E.; Helm, R.; Johnson, R.; Vlissides


Descargar ppt "Principios y Patrones de Diseño"

Presentaciones similares


Anuncios Google