Logo

dev-resources.site

for different kinds of informations.

🔑 Habilidad Técnica: 5. Emplear Patrones de diseño 📏 📐

Published at
2/18/2022
Categories
spanish
beginners
career
latam
Author
marianorenteria
Categories
4 categories in total
spanish
open
beginners
open
career
open
latam
open
Author
15 person written this
marianorenteria
open
🔑 Habilidad Técnica: 5. Emplear Patrones de diseño 📏 📐

Se dicen cosas como:

  • Los patrones de diseño son importantísimos
  • Conocer patrones de diseño te convertirá en Arquitecto
  • Si no programas con patrones de diseño no eres Senior
  • Los buenos programadores se comunican a través de patrones de diseño

Alguien me comento que tenía un conocido, que en un proyecto personal había implementado todos los patrones de diseño, como resultado el código era innecesariamente complicado, es mejor enamorarse del problema y no de la solución.

Yo tengo mi propia opinión sobre los patrones de diseño, pero no puedo saltar directamente a ella, para escribir esto me puse a leer un montón de comentarios en Stack Overflow y otros foros sobre la “importancia” de éstos.

Conocerlos

Los recursos de cabecera que recomienda normalmente la gente son:

  • 📕 Design Patterns: Elements of Reusable Object-Oriented Software (link Amazon)
  • 💻 Refactoring.Guru (link)

Pero hay muchísimos más recursos que puedes usar, te recomiendo que busques y tomes una decisión informada, la verdad es que Refactoring.Guru lo considero la opción de cabecera, puedes complementarlo con recursos en línea de acuerdo al lenguaje de programación que tu utilices, por ejemplo mi amigo Héctor de León tiene un curso sobre patrones de diseño en Udemy que es uno de los más vendidos.

Un tema tal vez controversial es decir que los patrones de diseño es algo que debes de conocer, como cuando utilizas ciertas fórmulas para poder resolver algo, esto no quiere decir que esa sea la única forma de resolverlo, pero si te ofrece algo común para poder resolver ese problema de una forma generalmente aceptada, no significa que hacerlo diferente sea malo.

Es cierto que puedes crecer y ser programador por años sin saber un sólo patrón de diseño, yo mismo así lo hice, pero eventualmente se empezó a hablar de ellos en mi ambiente laboral, así que me tuve que poner a estudiarlos.

Lo positivo

  1. Los patrones de diseño son una serie de herramientas que definidas y validadas para resolver problemas comunes en el diseño de software. Es para que no reinventes la rueda.
  2. Proporcionan un vocabulario común, cuando la gente dice Singleton, Factory, Entity, tu sabrás a que se refieren, la comunicación con tu equipo de trabajo será más fluida.
  3. Reconocerás patrones de diseño en librerías, frameworks y distintos lenguajes, esto te ayudará a conocer como funcioonan las cosas e incluso contribuir a esos proyectos.
  4. Muestran la intención de cómo se quería resolver algo, debido al vocabulario común que estas utilizando.

Lo negativo

  1. A veces hay personas que tienen diferentes interpretaciones para distintos patrones de diseño como MVC que es distinto en django o Ruby on Rails.
  2. Si tienes un martillo todo parece un clavo, ese es posiblemente el argumento que tienen más en contra, que cuando conoces patrones de diseño muchas veces los quieres aplicar en todo para demostrar cierto conocimiento.
  3. Soluciones ineficientes, aunque se diga mucho de que los patrones resuelven problemas de una forma demostrada, eso puede significar que te encuentres ignorando el problema real de tu proyecto, porque no aplican en tu contexto.

Sigo trabajando en mis productos con el fin de ayudar de forma más estructurada a la comunidad de TI, si te interesan pásale a mi perfil de Gumroad

  • 📕 Líder Técnico
  • 📘 De Junior a Senior
  • 🗓 Mentorías
  • 📑 Revisión de C.V.

Te invito a que me sigas en Twitter para que te enteres de todo el contenido que hago normalmente 🙃.

También soy creador del podcast Chile, Mole & Tech(https://dev.to/chilemoleytech), el cual esta en todas las plataformas(https://linktr.ee/chilemoleytech).

** Si te gusto este post, no dudes en compartirlo, me ayuda mucho. **

latam Article's
30 articles in total
Favicon
Registro 000 - ¿Listo para Flutter? Sigue Mi Aventura en el Desarrollo de una App con Clean Architecture
Favicon
Pro{gramadores}, pro{ductivos} y pro{crastinadores}.
Favicon
Cuidados Esenciales en Go: Cómo utilizar las funciones Marshal() y Unmarshal() de manera segura para JSON
Favicon
¡Go! - Tomando los primeros pasos con el lenguaje Go.
Favicon
Pre-AWS Summit CDMX 2023
Favicon
Acelerando la lectura de datos con Databricks
Favicon
Patrón de diseño: MVC | Explicación completa y simple
Favicon
Conquering the US Market: Tips for Uruguayan Software Companies
Favicon
Mis podcasts Favoritos en 2023
Favicon
¿Qué es GitHub Pages?
Favicon
Building a Second Brain | El mejor libro que leí en 2022
Favicon
LATAM será potencia en Open Source
Favicon
Utilizando HttpClient con IHttpClientFactory en .Net 6
Favicon
Mejorar el rendimiento de mis aplicaciones .Net 6 con REDIS
Favicon
The companies should have a multi-cloud strategy?
Favicon
Beneficios de unirse a la comunidad de AWS Community Builder
Favicon
Cómo responder al "¿Por qué te gustaría trabajar aquí?"
Favicon
Redis en Docker Container
Favicon
¿Por qué se necesitan más AWS Community Builders en Latinoamérica?
Favicon
Las 4+3 Aplicaciones que uso diario en Mac
Favicon
¿Prefieres trabajar con mercenarios o con misioneros?
Favicon
🔑 Habilidad Técnica: 6. Conocimiento de tecnologías complementarias 🧠
Favicon
💙 Habilidad Suave: 1. Comunicación 🗣
Favicon
Cosas que he aprendido dando mentorías a personas que están cambiando de carrera
Favicon
En Tech... ¿Los empleadores valoran la universidad o las habilidades técnicas?
Favicon
🔑 Habilidad Técnica: 5. Emplear Patrones de diseño 📏 📐
Favicon
🔑 Habilidad Técnica: 4. Desarrollo de pruebas automatizadas 🔁
Favicon
🔑 Habilidad Técnica: 3. Control de versiones y code review (Git) 🧑‍💻
Favicon
🔑 Habilidad Técnica: 2. Conocimiento de frameworks 🧱
Favicon
🔑 Habilidad Técnica: 1. Buscar en Internet y Leer el Manual

Featured ones: