Arquitectura

Patrones creacionales

Los patrones de diseño creacionales son aquellos que nos proponen soluciones para problemas relacionados con la instanciación de objetos. Automatizar el proceso de construcción de un objeto complejo, limitar la instaciación de una clase a un único objeto al que se pueda acceder de manera global o usar un objeto como prototipo para crear otros objetos similares son algunos de los usos de los patrones de diseño creacionales. Factory Method (Método de fabricación): Si necesitamos un objeto de un tipo, pero desconocemos cual es el objeto concreto que vamos a necesitar en el momento del diseño, este es nuestro patrón.

Patrones de diseño

Los patrones de diseño son un concepto que empezó a manejar el arquitecto britano-americano Christopher Alexander en 1966. Mucho más tarde, en 1994, con la publicación de Design Patterns: Elements of Reusable Object-Oriented Software, dicho concepto comenzó a ganar popularidad en el mundo del desarrollo de software. Este libro fué escrito por cuatro autores que posteriormente serían conocidos como la pandilla de los cuatro (Gang of Four): Erich Gamma, Richard Helm, Ralph Johnson y John Vlissides.

Búsqueda difusa

Seguro que estás acostumbrado a usar criterios de búsquedas y a aplicar filtros a un conjunto de datos. Cada vez que usas un búscador como Google o DuckDuckGo lo haces. Habitualmente los criterios de búsqueda son aplicados usando algoritmos muy rígidos, que devuelven resultados donde las coincidencias de los datos con dichos criterios son exactas. Deja que te hable ahora sobre la búsqueda difusa (Fuzzy search), donde los algoritmos aplicados son más indulgentes, consiguiendo así que podamos lograr resultados a los que no accederíamos con los métodos expuestos anteriormente.

1 desafio 4 aspectos

Al iniciar el proceso de diseño de una arquitectura software, la primera dificultad que debes acometer es definir con sencillez la necesidad que nuestro desarrollo va a solucionar y cómo va a hacerlo. Este paso es realmente importante, y no imaginas la cantidad de ocasiones que se pasa por alto, lo cual provoca dificultades en fases posteriores del desarrollo e, incluso, el fracaso de algunos proyectos. El mejor modo de comenzar a hacerlo es dividir el desafío propuesto en cuatro aspectos fundamentales: