Cidenet+Blog+Desarrollo limpio+Patrones de diseño de software: qué son y su utilidad

Patrones de diseño de software: qué son y su utilidad

Introducción

Cidenet trabaja en la investigación y divulgación de principios, conceptos, herramientas y metodologías que contribuyan a mejorar las buenas prácticas de desarrollo. En esta ocasión queremos hacer una inducción general a qué son los patrones de diseño de software, su utilidad y los principales tipos de patrones que existen.

  • ¿Qué son los patrones de diseño de software?

    Los patrones de diseño son soluciones genéricas y reusables que buscan hacer frente a problemas típicos que se presentan en el diseño de software. En ellos se describe un problema, su solución, cuándo aplicarlo y las consecuencias que ello conlleva. El objetivo es acelerar el proceso de desarrollo, por medio de un paradigma de diseño robusto y bien probado.

  • ¿Para qué son útiles?

    • Al proveer una solución genérica, se pueden utilizar en diversas situaciones donde se puede apreciar el patrón.
    • Al ser patrones conocidos y probados, ayudan a prevenir situaciones que no sean identificadas en la etapa de diseño y que se pueden convertir en problemas mayores en tiempo de desarrollo. De ahí que sean una herramienta que reduce el tiempo y el reproceso.
    • Se utiliza para tener una comunicación estandarizada entre el equipo de desarrollo, dado que el patrón trae consigo nombres conocidos y bien entendidos que no se prestan para interpretaciones sesgadas.
    • Son útiles en el mantenimiento y evolución del proyecto, por ejemplo, en la adición de nuevas funcionalidades.
  • Tipos:

    Existen tres tipos, creacionales, estructurales y de comportamiento

    • Creacionales: proveen mecanismos para la creación de objetos, ocultando la lógica de su creación, por ejemplo, evitar el uso del operador “new” por toda parte del código y más bien centralizar esa creación en un lugar específico del proyecto, ganando así en el aspecto de mantenibilidad.
    • Estructurales: se encargan de proporcionar un vínculo, interfaz, o medio entre clases y objetos, que pueden ser incompatibles entre sí, para que estos puedan establecer una comunicación y generar una estructura más grande con el fin de obtener nuevas funcionalidades, por ejemplo, agregar funcionalidades nuevas a una clase existente sin que eso afecte las partes del código que actualmente usan tal clase, mientras se mantiene la flexibilidad y la eficiencia.
    • De comportamiento: se centran en la asignación de responsabilidades entre objetos. Estos patrones caracterizan y abstraen flujos de control que son difíciles de seguir en el tiempo de ejecución, de esta forma, solo hay que preocuparse en establecer las comunicaciones entre los objetos, por ejemplo, una serie de procedimientos que se deben ejecutar en serie, pero dependiendo del caso de uso, pueden ejecutarse unos pasos y otros no.

Contáctanos

Déjanos tus datos

    Medellín - Colombia

  • Calle 47D #72-29
  • (+57) 4 3222567
  • comunicaciones@cidenet.com.co

    Estados Unidos

  • 1200 Colorado Blvd, Denver Colorado 80220
  • (+1) 7723619239
  • jceballos@cidenet.net
WhatsApp
>