1:09 | Posted in
Cuando éramos pequeños aprendimos a hablar. Lo mejor de todo es que la gente nos entendía. Y mientras más practicábamos, y más crecíamos, se pronunciaba las palabras más claramente, y me era más sencillo expresar las ideas. En ese entonces no se tenía idea de lo que era una oración, un verbo, un sustantivo. No se conocía esos conceptos, sin embargo, se usaba diariamente. Fue después, en la escuela primaria, que se aprendió de gramática. Y para mí, aparte de que era un curso aburrido, no se trataba de aprender nada nuevo, sino de un curso que aclaraba lo que ya se sabía y venía usando desde hace años. Aprender de gramática me aclaró el panorama, me ayudó a utilizar mi idioma de mejor manera.
Si tu, profesionalmente, o como hobby, te dedicas a programar, de seguro has escuchado hablar a diestra y siniestra de los famosos patrones de diseño. Que el singleton, que el factory, que el mvc, etc. Si no has oido de ellos, entonces, realmente, vives en otro planeta. Yo no vivía en otro planeta, pero por mucho tiempo me hice de la vista gorda y siempre daba la espalda cada vez que habia oportunidad de aprender sobre ese tema. Simplemente creía que ese tema y que mi vida simplemente era más fácil sin usar los famosos patrones de diseño.
De repente, Adobe (o fue Macromedia) inventó Flex, una solución de desarrollo de RIA’s (en pocas, aplicaciones para internet) que hace uso extensivo, según lo que he leído, del patrón MVC. Como me interesa aprender Flex, decidí que era hora de saber un poco más acerca de los complicados y famosos patrones de diseño, sobre todo el famosísimo MVC. Cogí un libro sobre el tema, y mientras más leía, me daba cuenta que estaba aprendiendo sobre algo que ya sabía. Igual que años antes, con la gramática, ahora mi libro de patrones de diseño no me enseñaba nada nuevo, sino que aclaraba el uso de algo que yo ya venía usando, bien o mal, desde hace tiempos. Ese librito vino a poner un nombre a lo que yo ya usaba, pero que no había bautizado, y aparte, vino a ayudarme a ver problemas en mis programas que por falta de experiencia yo no había visto.
Category:
��
1:07 | Posted in
Cuando diseñas un programa (digamos que usando Flash y Actionscript) , muchas veces te encontrarás con problemas que tienes que resolver, para que tu programa funcione como lo requieres. Sin embargo, todo problema tiene una solución. De seguro siempre encuentras la solución, pero puede que te demores 3 días hasta que se te ilumine el cerebro y veas claramente lo que tienes que hacer, o qué codigo tienes que modificar para que el problema deje de existir.
No eres el único. A lo largo de los años, todos los programadores encuentran problemas en el diseño de sus programas. Es más, muchas veces encontrarás los mismos problemas, y generalmente la solución será la misma. Los problemas son repetitivos, y la solución óptima generalmente es la misma. Ahí hay un patrón. En este caso, el patrón es la solución a un problema en un contexto determinado.
Los patrones de diseño son exactamente eso: un conjunto de soluciones a problemas que generalmente encuentras en el diseño de un programa. Cada patrón explica cómo resolver un determinado problema, bajo determinadas circunstancias, y las ventajas y desventajas de su uso.
Category:
��
1:04 | Posted in
Si ya llevas un tiempo programando, de seguro has encontrado muchos problemas y muchas soluciones en el código de tus programas. De hecho, sabes que soluciones funcionan mejor, o que consecuencias traen (puede que al solucionar un problema específico, aparezcan otros 10 distintos) y sabes cuando o donde usar esas soluciones. Esos son tus patrones, y de hecho, aunque no lo sepas, de seguro estás utilizando uno que otro de los patrones de diseño que otros sitios y otros libros mencionan. Los usas, aunque no sabes su nombre.
Como ya dije, los patrones de diseño son una guía para resolver problemas comunes en programación. Al aprenderlos, aprenderás a identificar de mejor manera los problemas que vas a tener, antes de que aparezcan, y aprenderás qué solución es la que mejor se aplica a tu problema.
Ninguna solución es perfecta, de seguro has visto eso en el código de tus programas. Aplicas una solución, pero sabes que talvez te quita flexibilidad en partes de tu programa, o que puede traer otros problemas. Como ya dije, de una u otra forma, si programas, ya has usado patrones de diseño. Pero ahora, cuando aprendas de que tratan, sabrás identificarlos en tus programas, y sabrás no solo por qué fue la mejor solución a tu problema, sino que te ayuda a darte cuenta de las consecuencias que tendrás en el futuro. Porque uno no se da cuenta de los problemas que pueden aparecer, sino hasta dos o tres meses, cuando te toque mejorar tu programa, o agregarle funcionalidad.
Finalmente, saber de patrones de diseño te ayuda a tener un lenguaje común con otros programadores. Si trabajas en un grupo de programadores. Cuando te toque modificar un programa, el autor del código seguramente tendrá que explicarte que fue lo que hizo, cómo funciona su código y por qué hizo tal o cual cambio. Se puede demorar horas. Pero esa conversación puede acortarse si te dice, aquí estoy utilizando tal o cual patrón (por ejemplo: el patrón Factory). Punto. Detrás de esa sola palabra, tu ya conoces los conceptos, y sabes cómo fue codificado el programa.
Category:
��
0:42 | Posted in
Uno de los errores más comunes después de aprender sobre patrones de diseño es querer utilizarlos para todo y en todo tipo de código. Eso es definitivamente dañino para tu salud. Si aprendes de patrones de diseño, es para facilitar tu vida como programador, y no complicarla. Sigue viviendo tu vida diaria normalmente, y solo utiliza un patrón cuando de veras lo necesites.
Recuerda que los patrones son solo guías, pero no están escritos en piedra con letra de oro. No siempre son las mejores soluciones para el diseño de tu propio programa. Es más, mucha gente utiliza variaciones de los patrones de diseño. No tienes que adaptar tu código a patrones de diseño, todo lo contrario, debes adaptar los patrones a tu código.
Category:
��
23:10 | Posted in

Un patrón está orientado a soluciones de problemas específicos. Cada patrón describe un problema concurrente en nuestro entorno. Esta experiencia se plasma de cierta manera en métodos, estructuras, etc.

El concepto de patrón tiene carácter general y por consiguiente es aplicable a un sin número de situación de diferente tipo, estilo, entorno, etc. Podemos encontrar patrones:

Fundamentales: Los patrones de esta categoría son los más fundamentales e importantes patrones de diseño conocidos. Estos patrones son utilizados extensivamente en otros patrones de diseño.
De Creación: Los patrones de creación muestran la guía de cómo crear objetos cuando sus creaciones requieren tomar decisiones. Estas decisiones normalmente serán resueltas dinámicamente decidiendo que clases instanciar o sobre que objetos un objeto delegará responsabilidades.
De Partición: En la etapa de análisis, se examina el problema para identificar los actores, casos de uso, requerimientos y las relaciones que constituyen el problema. Los patrones de esta categoría proveen la guía sobre como dividir actores complejos y casos de uso en múltiples clases.
De Estructura: Describen la forma como se pueden relacionar, diferentes tipos de objetos, para trabajar unos con otros y formar estructuras de mayor tamaño.
De Conducta: Describen la forma como organizar, administrar, y combinar, conductas y responsabilidades de objetos.
De Concurrencia: Describen como coordinar operaciones concurrentes para compartir recursos o secuenciar dichas operaciones.
Category:
��
22:56 | Posted in

La utilización de patrones, nos puede ayudar a la aceleración de nuestros proyectos además en algunos casos se pondría implementar soluciones ya propuestas para de allí partir de un nuevo desarrollo, no partir desde cero, si no de comportamientos ya establecidos.

Esta idea de patrones, por su misma naturaleza genérica de Problema-Solución-Reutilización, se ha popularizado a nivel mundial. En la actualidad existen muchas investigaciones al respecto, las cuales se orientan a muy distintos ámbitos de la actividad humana. Asimismo dentro de la ingeniería se ha extendido, tal así que se han creado y siguen creando catálogos de patrones para problemas en distintos niveles de abstracción. Por ejemplo, estamos hablando ya, no solo de patrones de diseño, sino también tenemos patrones de programación, de arquitectura, de análisis, de requisitos, etc.


Unas de las desventajas más resaltantes es, cuando uno tiene un problema y acude a los patrones sin ningún criterio de que patrón utilizar, correrías el riesgo de escoger un mal patrón, teniendo como consecuencia pérdidas.


Para que el patrón pueda ser reutilizado se necesita representar las decisiones, alternativas, ventajas e inconvenientes que son su razón de ser. Normalmente, un patrón está documentado en forma de una plantilla. Es una práctica común documentar los patrones en un formato de plantilla, pero no significa que sea la única forma de hacerlo. Además, existen muchos formatos de plantillas propuestos por muchos autores, lo cual permite la creatividad en la documentación de patrones
.
Category:
��
22:36 | Posted in
La Casa de la Cascada se encuentra dentro de la etapa Usoniana, como ya se ha marcado. Esta casa se relaciona con las Casas de la Pradera de Wright, que según él, debían cumplir una serie de principios, cuya esencia es la siguiente:
- Primero: Hacer que todas las estancias se unan como un recinto espacial, impregnado de un sentido de unidad. Este aspecto se encuentra representado al máximo en la zona del estar.
- Segundo: Asociar el edificio como conjunto con el terreno mediante la extensión y énfasis de todos los planos paralelos al suelo. Es bastante claro que ésta finalidad es la que lleva a Wright a crear estos aleros y terrazas tan grandiosos.
- Tercero: Eliminar la habitación como una caja, que fluyan los elementos unos dentro de otros. En todas las habitaciones de la casa nos encontramos con las zonas mencionadas (guardarropa, chimenea y estudio) y sin embargo todas ellas se encuentran íntimamente relacionadas.
- Cuarto: Separar del terreno los malsanos sótanos, que la propia cimentación sea una plataforma baja. Lo cual encontramos en la zona de la pequeña piscina, los apoyos son claramente visibles.
- Quinto: Armonizar todas la aberturas necesarias hacia el interior o el exterior, como cortinas de luz. Por este motivo encontramos en todas las fachadas una franja horizontal de cristal en cada planta, y otra vertical desde la primera a la última planta.
- Sexto: Eliminar las combinaciones de diferentes materiales. Las líneas geométricas o rectas son naturales para la maquinaria usada. Esto se refleja en la continuidad que tiene los materiales tanto dentro como fuera de la casa; y en la geometría del despiece de la piedra o la colocación de carpinterías tan horizontales.
- Séptima: La calefacción, la iluminación y la fontanería son partes constitutivas del propio edifico; esta es la idea de una arquitectura orgánica. Este principio lleva a Wright a emplear la fontanería dentro de los muebles para ambientar la casa, y a buscar en todo momento la luz o la sombre en función de la privacidad de una estancia.
- Octavo: Incorporar como arquitectura orgánica el mobiliario. En la casa podemos encontrar que todo el mobiliario ha sido diseñado por Wright, apenas unos estantes permiten que el inquilino incorpore algo distinto.
- Noveno: Eliminar al decorador. La Casa de la Cascada fue concebida por su arquitecto según unos determinador parámetros, y por tanto es éste quien ha de ocuparse de todos los detalles para evitar que se cree un ambiente diferente.
Las casas de Wright tienen su sello personal, tienes su propios patrones así nos muestra en una de sus obras maestras que es la CASA DE LA CASACADA utilizando planos abiertos, que se extienden sobre el terreno, espacios que fluyen entre los ambientes y pisos. Grandes aleros y paños vidriados que relacionan interior y exterior. La obra combina una serie de planos horizontales constituidos por vigas cantiléver de hormigón armado, que se introducen en la roca dejando pasar por debajo una cascada que puede ser vivida por los ocupantes de la vivienda. Una escalinata baja directamente desde el living hasta el arroyo.
Category:
��