2010-02-24 21 views
5

¿Por qué necesitamos patrones de diseño como Factory, Abstract Factory y Singleton?¿Por qué necesitamos patrones de diseño?

+6

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

+1

@slugster me gustaría poder dar vuestros comentarios más votaciones –

+1

@slugster ¿los llamaremos algoritmos para hornear cookies? – everlasto

Respuesta

12

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.

4

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).

6

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.