Principios y Patrones de Diseño



Descargar 5,79 Kb.
Fecha de conversión19.03.2017
Tamaño5,79 Kb.

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

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.

SINTOMAS DE LA DEGRADACION

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.

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

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.

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.

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.

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.

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.

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.

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.

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.

BIBLIOGRAFIA

  • Principles and Patterns2009-Articulo de Robert C Martin
  • Programación en java: Fundamentos de programación y principios de diseño http://elvex.ugr.es/decsai/java/
  • “Patrones de diseño”. Gamma, E.; Helm, R.; Johnson, R.; Vlissides


La base de datos está protegida por derechos de autor ©absta.info 2016
enviar mensaje

    Página principal