¿Por qué necesitamos patrones de diseño como Factory, Abstract Factory y Singleton?¿Por qué necesitamos patrones de diseño?
Respuesta
Los patrones de diseño proporcionan fácil de reconocer y utilizar soluciones OOP para problemas comunes. Son inherentemente fáciles de mantener, porque muchas personas están familiarizadas con ellos. Esto es muy similar a cómo funciona Google. Todo el mundo sabe CÓMO googlear, de modo que cuando obtiene una consulta como "¿Cuál es el propósito de los patrones de diseño?", Puede usar esta interfaz común muy rápidamente para resolver un problema.
Los patrones de diseño también resuelven los desafíos de programación específicos relacionados con la usabilidad y la facilidad de mantenimiento. Levante el Gang of Four book y hágalo.
En algunos casos, por practicidad. Cuando ve un problema recurrente común, encuentra una solución común y general para resolverlo. Ocurre en arquitectura, mecánica, usabilidad y comportamiento humano, y la programación no es una excepción.
En algunos otros casos, el patrón también es una forma de lidiar con las "ineficiencias" del lenguaje, donde la "ineficiencia" es muy amplia en su significado, y no siempre en un mal término. Por ejemplo, algunos patrones típicamente usados en Java son menos importantes en un lenguaje donde las funciones son objetos de primera clase. Algunos patrones de diseño solo son significativos en algunos idiomas, e imposibles en otros: Crockford describe patrones de Javascript que son únicos de este lenguaje para tratar con la naturaleza potencial del lenguaje de campo de minas (que, debo señalar, es un verdadero lenguaje genial, una vez que lo entiendes).
Si se produce un problema una y otra vez, se ha utilizado con eficacia una solución a ese problema. Esa solución se describe como un patrón.
- 1. Patrón de diseño del generador: ¿por qué necesitamos un Director?
- 2. ¿Por qué necesitamos fibras
- 3. ¿Por qué necesitamos Thread.MemoryBarrier()?
- 4. ¿Qué patrones de diseño/diseño de aplicaciones PHP usa?
- 5. Patrones de diseño incorrectos
- 6. ¿Qué patrones de diseño están subutilizados?
- 7. ¿Por qué necesitamos web-sockets?
- 8. ¿Por qué necesitamos marcos burlones?
- 9. ¿Por qué necesitamos mesa virtual?
- 10. ¿Por qué necesitamos C Unions?
- 11. ¿Por qué necesitamos ng-click?
- 12. ¿Por qué necesitamos usar Radix?
- 13. ¿Por qué necesitamos struct? (C#)
- 14. ¿Todavía necesitamos el patrón de diseño del iterador?
- 15. Vaadin: Patrones de diseño
- 16. Patrones de diseño arquitectónico
- 17. Nuevos patrones de diseño/estrategias de diseño
- 18. ¿Utiliza patrones de diseño?
- 19. patrones de diseño
- 20. patrones de diseño python
- 21. ¿Por qué necesitamos parámetros de "salida"?
- 22. ¿Por qué necesitamos delegados de C#
- 23. ¿por qué necesitamos zone_highmem en x86?
- 24. ¿Por qué todavía necesitamos código generado?
- 25. transaccional de patrones de diseño
- 26. decorador de patrones de diseño
- 27. Patrones de diseño de mensaje
- 28. Patrones de diseño de SQL
- 29. ¿Por qué necesitamos el método ContinueWith?
- 30. ¿Por qué necesitamos Application Server en Java?
Por la misma razón, utilizamos recetas para hornear galletas. Son un proceso repetible utilizado para lograr un resultado conocido. Sin nuestras recetas de galletas, cada lote sería una invención nueva; lo mismo aplica a los patrones de diseño en el software. – slugster
@slugster me gustaría poder dar vuestros comentarios más votaciones –
@slugster ¿los llamaremos algoritmos para hornear cookies? – everlasto