jueves, 25 de abril de 2019
Patrones de diseño
Bienvenid@s
Esta vez vamos a realizar un pequeño resumen de
"Patrones de Diseño Elementos de software orientado a objetos reutilizable"
Gamma, Helm ,Johnson & Vlidissides.
Realizaremos resumen de los patrones de nuestro interés por lo que no pretendemos infringir los derechos de autor, el libro se encuentra disponible en la web.
Como hemos estudiado antes el paradigma de la programación orientada a objetos que hemos definido anteriormente podremos adentrarnos en el tema de patrones de diseño con el fin de reutilizar código de manera eficiente, en nuestro caso haremos referencia al lenguaje de programación C++, y si es posible acompañarlo de un tutorial para clarificar las situaciones de cada patrón.
¿Qué es un patrón de diseño ?
"Según Christopher Alexander, “cada patrón describe un problema que ocurre una y otra vez en nues- tro entorno, así como la solución a ese problema, de tal modo que se pueda aplicar esta solución un millón de veces, sin hacer lo mismo dos veces”" (Gamma, Helm ,Johnson & Vlidissides,1995)
Destacaremos elementos importantes sobre los patrones de diseño:
- "El nombre del patrón permite describir, en una o dos palabras, un problema de diseño junto con sus soluciones y consecuencias." (Gamma, Helm ,Johnson & Vlidissides,1995)
- "El problema describe cuándo aplicar el patrón. Explica el problema y su contexto" (Gamma, Helm ,Johnson & Vlidissides,1995)
- "un patrón es más bien como una plantilla que puede aplicarse en muchas situaciones di-ferentes. El patrón proporciona una descripción abstracta de un problema de diseño y cómo lo resuelve una disposición general de elementos (en nuestro caso, clases y objetos)." (Gamma, Helm ,Johnson & Vlidissides,1995)
Patrones Estructurales
"Los patrones estructurales se ocupan de cómo se combinan las clases y los objetos para formar es-
tructuras más grandes. Los patrones estructurales de clases hacen uso de la herencia para componer
interfaces o implementaciones." (Gamma, Helm ,Johnson & Vlidissides,1995)
- Composite :
Compone objetos en estructuras de árbol para representar jerarquías de parte-todo. Permite que los
clientes traten de manera uniforme a los objetos individuales y a los compuestos.
clientes traten de manera uniforme a los objetos individuales y a los compuestos.
Analicemos un momento cada uno de los componentes del ejemplo:
Componente (Gráfico)
- Declara la Interfaz de los objetos de la composición.
- Implementa el comportamiento predeterminado de la interfaz que es común a todas las clases.
- Declara una Interfaz para acceder a sus componentes hijos y gestionarlos. (opcional) define una Interfaz para acceder al padre de un componente en la estructura recursiva y. si es necesario, la implementa.
Hoja (Rectángulo, Linea, Texto, etc.)
- Representa objetos hoja en la composición. Una hoja no tiene hijos.
- Define el comportamiento de los objetos primitivos de la composición.
Compuesto (Dibujo)
- Define el comportamiento de los componentes que tienen hijos.
- Almacena componentes hijos.
- Implementa las operaciones de la interfaz Componente relacionadas con los hijos.
Cliente: Manipula objetos en la composición a través de la interfaz Componente.
- Decorador
Proposito:
Asigna responsabilidades adicionales a un objeto dinámicamente, proporcionando una alternativa fle-
xible a la herencia para extender la funcionalidad. (Envoltorio)
Asigna responsabilidades adicionales a un objeto dinámicamente, proporcionando una alternativa fle-
xible a la herencia para extender la funcionalidad. (Envoltorio)
Use el Decorador
• Para añadir objetos individuales de forma dinámica y transparente, es decir, sin afectar a otros objetos.
• Para responsabilidades que pueden ser retiradas.
• Cuando la extensión mediante la herencia no es viable. A veces es posible tener un gran número de extensiones independientes, produciéndose una explosión de subclases para permitir todas las combinaciones. O puede ser que una definición de una clase esté oculta o que no esté disponi- ble para ser heredada.
Patrones de Creación
- Singleton: Busca crear una unica instacia de la clase
Method Factory
...
Patrones de Comportamiento
- Patrón de estrategia o Politica (Policy based): El patron de estrategia nos permite crear diferentes escenarios para resolver un problema de diferentes formas este patron se puede puede aplicar cuando se encuentran los siguientes escenarios descritos por Gamma, Helm ,Johnson & Vlidissides en 1995
- "Muchas clases relacionadas difieren solo en su comportamiento.Las estrategias permiten configurar una clase con un determinado comportamiento de muchos posibles
- Se necesitan distintas variantes de un algoritmo
Podemos ver el papel que toma cada entidad y nos referiremos a su función de la siguiente manera basandonos en lo descrito por Gamma, Helm ,Johnson & Vlidissides en 199:
Existe una entidad que se llama Estrategia esta es una clase padre y es abstracta (polimorfismo) debido a esto se van a utilizar clases hijas
Las clases EstrategiasContretas implentan sus algoritmos de acuerdo a lo que se quiera trabajar
Existe una clase compuesto que es donde se configuran y mantienen una estrategia manejada por medio de la interfaz.
viernes, 29 de marzo de 2019
Discrete Math
This is one of the most visited post but I need you to read in articles and projects the most recent post
Useful playlist
What is Big O ?Big O notation
Boolean Matrix
Graph Theory
Shortest Path using Dijkstra's Algorithm
Trees and Binary Search Trees
martes, 26 de marzo de 2019
Estructuras Discretas
Recursividad
Para entender la recursividad, primero , hay que entender la recursividad
Para entender la recursividad, primero , hay que entender la recursividad
Relaciones de recurrencia
Relaciones Binarias
Fundamentos de C++
Para aprender C++ hay muchos recursos disponibles, no importa si sos estudiante de ingenieria o aficionado a la programación, aquí voy a poner enlaces de los que considero los mejores, estos mismos recomiendo ser acompañados por la plataforma
https://www.sololearn.com/Course/CPlusPlus/
El libro C++ de Jorge Sanchez https://jorgesanchez.net/
Codigo Facilito ahora cuenta con su propia plataforma sin embargo sus videos se encuentran en youtube
https://codigofacilito.com/cursos/c-plus-plus
Programación ATS
https://www.youtube.com/watch?v=ld4nzao5XAc
jueves, 28 de junio de 2018
Plataformas Virtuales Educativas
Si eres estudiante o profesor esto te interesa
En internet esta todo, o eso dicen, actualmente existen multiples plataformas que ayudan a mejorar el proceso de aprendizaje no obstante tenemos que saber buscarlas.
Este es mi top de canales recomendados y plataformas para estudiantes de ingenieria en sistemas u otras disciplinas de la informática
lunes, 30 de abril de 2018
Los ecolones ¿La moneda virtual de Costa Rica ?
¿Qué son los "ecolones" ?
Una inciativa que crea una moneda virtual, basado en el monto de residuos dejados en un centro de acopio dedicado al reciclaje.
Es un uso revolucionario, como hemos visto anteriormente el uso de monedas virtuales
ha tenido un auge increible como los (BITCOINS)
Sin embargo Costa Rica ha sido pionero en el cuido de la naturaleza, y no solo eso sino que también es pionero en tecnologías que nos permitan cuidar el ambiente, desde monedas virtuales hasta satelites.
Esta es la prueba del impacto de la tecnología en la vida diaria y que se puede usar de manera positiva y atraer ventajas para el país, y el mundo.
Entonces que estamos esperando para unirnos a esta plataforma, con tres sencillos pasos nos podemos convertir no solo en cuidadanos concientes, si no que además obtener beneficios de ello.
- Lo primero es registrarse en la pagina web https://ecolonescr.com/
- Ubicar un centro de acopio cercano, y llevar los reciclables
- Y esperar a que el encargado ingrese al sistema los ecolones correspondientes a los desechos
Y con los ecolones se tendrán recompenzas como descuentos o para la compra de productos en las compañias asociadas a la empresa.
sábado, 21 de abril de 2018
El Tedx Pura Vida 2018
#TedxPVJoven
muestra diversos expositores donde narran una pequeña experiencia de su
vida y buscan inspirar a los demás. Muchos de estos vienen de
diferentes realidades. En el primer bloque pudimos disfrutar con Ximena
Miranda que nos narra sobre el cuento que escribió en un momento crítico
del 2077 dónde ya no se puede disfrutar de la naturaleza y nos invita a
pensar en el medio ambiente y en el
futuro del mismo, Andrés Saborío vence sus miedos a las alturas y
atraviesa una cuerda desde el escenario donde nos invita a vencer los
miedos, Jazmín Fallas una emprendedora que busca ayudar a las madres de
familia y nos dice que cuando se quiere se puede , Adrián Pinto un
científico que nos da una realidad sobre los microrganismos y hormigas
donde nos damos cuenta como impactan en la medicina , y Victoria Rovira
mujer transexual activista y nos invitan a vernos a nosotros mismos como
sociedad y aceptarnos para poder cambiar
En el segundo bloque de #TedxPVJoven
nos acompañaron personas como Myrka Rojas y Diana Mendoza donde nos
hablaron acerca de la importancia de las micro algas y parte de su
investigación en el TEC. Mauricio Artiñano nos toca la sencibilidad y
nos cuenta su experiencia después de ser dictaminado como VIH+ y a
partir de ahí como se puede mejorar la salud, y prevenir el
esparcimiento del virus como una responsabilidad social. También se
presentó Jean Carlo Gómez que podrán encontrar un segmento en la publicación anterior sobre Jale a jugar química.
Otro tema de sencibilidad social fue el que presentó Alba Reyes acerca de todos aquellos jóvenes víctimas del maltrato y matoneo. Carlos Faerron nos habla de la salud planetaria, y de acciones para mejorar nuestro medio ambiente y de su papel en la CISG. Posteriormente Henry Martínez nos hablar del surf, y de la lucha con personas con discapacidad, siendo una persona no vidente a causa de una enfermedad. Por último nos deleita Brenda Navarrete
Otro tema de sencibilidad social fue el que presentó Alba Reyes acerca de todos aquellos jóvenes víctimas del maltrato y matoneo. Carlos Faerron nos habla de la salud planetaria, y de acciones para mejorar nuestro medio ambiente y de su papel en la CISG. Posteriormente Henry Martínez nos hablar del surf, y de la lucha con personas con discapacidad, siendo una persona no vidente a causa de una enfermedad. Por último nos deleita Brenda Navarrete
En el último bloque se presentaron María Fernanda Guillen, que nos
presenta el mundo de las personas con enfermedades mentales, como lo son
la depresión y ansiedad y de como se enferenta el día a día con ello.
con la compañia de artistas como Melissa Rivera, en su danza. Andrey Ramirez con su banda rockera a su corta edad. Robert Garita del que podrán encontrar un poco más de su proyecto en la publicación anterior
Sol Echeverria comparte con nosotros el cambio de la politica en Costa Rica y el mundo debido a movimientos sociales atraves de las redes
con la compañia de artistas como Melissa Rivera, en su danza. Andrey Ramirez con su banda rockera a su corta edad. Robert Garita del que podrán encontrar un poco más de su proyecto en la publicación anterior
Sol Echeverria comparte con nosotros el cambio de la politica en Costa Rica y el mundo debido a movimientos sociales atraves de las redes
Para finalizar Fabio Gandour #TedxPVJoven uno de los hombres más influyentes en tecnología en latinoamerica nos cuenta si visión acerca de los átomos
Suscribirse a:
Comentarios (Atom)

