¿Qué patrones de diseño se usan popularmente en el desarrollo de software?

Depende del idioma. Sin embargo, tenga cuidado con los patrones únicos y de fábrica, ya que pueden conducir a condiciones de carrera en entornos concurrentes o roscados.

En sistemas a gran escala o sistemas altamente concurrentes, la programación procesal orientada a objetos es un mal ajuste. De hecho, muchos de estos patrones de diseño existen en OOP debido a las deficiencias de esos idiomas. Existen patrones de inversión de responsabilidad como la inyección de dependencia, por ejemplo, debido a la falta de compostibilidad y flexibilidad del lenguaje.

Lee todo con un ojo crítico.

Ahora, además de la respuesta ya proporcionada, en la programación funcional, tiene las siguientes técnicas para ayudarlo a secar su código.

– funciones lambda y funciones de aceptación como parámetros.
– transparencia referencial (efectos secundarios separados del cálculo matemático).
– aplicación de curry y función parcial
– mónadas, functores, cofunctores, solicitantes, monoides, comones, alternativas, flechas, todos los cuales son patrones basados ​​en las matemáticas de sus datos y algoritmos, y no en algún concepto humano arbitrario y frágil.
– de la última lista anterior, algunos patrones de esos patrones abstractos incluyen Reader Monad (reemplaza algunos casos de uso para inyección de dependencia), Writer Monad (para escribir en un entorno), el cofunctor Predicate, el cofunctor de comparación, el tipo divisible (una Aplicativa / Alternativa contravariante que se puede usar como andamiaje para cualquier algoritmo Divide and Conquer https://hackage.haskell.org/pack…, etc.
– recursividad (incluidas 2 o más funciones que se llaman recursivamente entre sí), lo que permite realizar bucles sin mutaciones de datos o variables.
– STM (memoria transaccional de software) para un acceso seguro al estado compartido en un entorno roscado.
– el patrón de actor para evitar el estado compartido en entornos concurrentes / roscados donde sea posible

Y todos estos patrones hacen que sea fácil escribir código que sea seguro para subprocesos y trivialmente paralelo, y fácil de probar por unidad.

El teorema fundamental de los estados de ingeniería de software:

Podemos resolver cualquier problema introduciendo un nivel adicional de indirección.

Así, la Fachada, el Proxy y sus variaciones.

Serie de videos de análisis de negocios
Si está buscando una comprensión de alto nivel del análisis comercial, le recomendaría que visite nuestro Canal de Resumen de Análisis Comercial. Contiene más de 60 videos sobre análisis de negocios.

Resumen de análisis de negocios

El primer “patrón de diseño” es una cosa asombrosa llamada “subrutinas”. De Verdad. La cita más antigua es de 1957. Y creo que este es el patrón más utilizado.
Entonces, esa es la respuesta: como lo llamamos hoy, funciones.
🙂

El más popular es MVC. Aquí hay un poco más:

  1. Semifallo
  2. Fábrica
  3. Decorador
  4. Constructor
  5. Apoderado
  6. Modelo
  7. Adaptador
  8. Cadena de responsabilidad
  9. Estrategia
  10. Peso mosca

Todos los patrones de Erich Gamma, MVC, Facad e, J2EE … etc. continúan, no puede enumerarlos. Según la necesidad, existen varios patrones de diseño que satisfacen la necesidad. Entonces, si menciona la necesidad de su proyecto, dominio y la tecnología que planea utilizar, ayudaría más,

Atentamente