Patr贸n de dise帽o Command

Patr贸n de dise帽o CommandEl patr贸n de dise帽o Command es muy utilizado cuando se requiere hacer ejecuciones de operaciones sin conocer realmente lo que hacen, estas operaciones son conocidas como comandos y son implementadas como una clase independiente que realiza una acci贸n muy concreta, para lo cual,煤nicamente recibe un conjunto de par谩metros para realizar su tarea. as

Patr贸n de dise帽o – Composite

El patr贸n de dise帽o Composite nos sirve para construir estructuras complejas partiendo de otras estructuras mucho m谩s simples, dicho de otra manera, podemos crear estructuras compuestas las cuales est谩n conformadas por otras estructuras m谩s peque帽as.

Para comprender mejor como funciona este patr贸n imaginemos una casa de ladrillos, las casas como tal no est谩n hecha de una pieza, si observamos las paredes estas esta echas de peque帽as piezas llamadas ladrillos, entonces, el conjunto de estos ladrillos crea paredes, y un conjunto de paredes crean una casa. este ejemplo puede ser aplicado al patr贸n Composite, y no digo que vallamos a crear una casa con este patr贸n, sino m谩s bien nos da una idea de c贸mo trabaja para poder utilizarlo con otros ejemplos.

Patr贸n de dise帽o Composite
Fig. 1: Estructura del patr贸n de dise帽o Composite.

as

2Phase Commit

Hoy en d铆a casi todas las aplicaciones utilizan bases de datos para almacenar y transaccionar la informaci贸n, sin embargo casi todas las aplicaciones tiene como origen de datos una sola base de datos centralizada, en donde guardan toda la informaci贸n,聽actualizan o borran, para lo cual una sola transacci贸n garantiza que todos los cambios que realicemos se apliquen聽de forma at贸mica. as

Pila (Stack)

Pila StackEn d铆as pasados hablamos acerca de las Colas o Queue las cuales siguen la filosof铆a FIFO (First In – First Out) o Primero en entrar – Primero en salir. Sin embargo, hoy hablaremos de las Pilas o Stack las cuales son un poco diferentes de las Colas, ya que 茅stas siguen la filosof铆a LIFO (Last In – First Out) o 脷ltimo en entrar primero en salir. as

Estructura de datos – Queue (Cola)

Pila StackEn esta entrada quiero platicarles de las Colas (Queue) un tipo de estructura de datos muy utilizada. 驴Pero que es exactamente una colas?, Cuando digo la palabra cola lo mas seguro es que lo primero que se les venga a la mente es una Cola o Fila como cuando vamos al cine y la taquilla esta muy llena o cuando vamos a un evento donde se presentara alguien famoso. Si en tu mente paso un escenario a s铆 te dir茅 que vas por buen camino.

Una Cola o Queue es una estructura de datos que sigue la聽Filosof铆a聽FIFO del ingles First In – First Out聽que en espa帽ol seria “Primero en entrar primero en salir”. Esto quiere decir que el elemento que entre primero a la Cola sera el primero que salga y el 煤ltimo que entre sera el 煤ltimo en salir.

Un escenario com煤n es cuando vamos al banco, Llegamos y lo primero que haces es tomar un turno, inmediatamente nos damos cuenta que聽ya hab铆a 10 personas primero que t煤 por lo que autom谩ticamente deduces que ellos ser谩n atendidos primero que t煤. Si nos damos cuenta en este escenario el primer cliente que llego y solicito un turno sera el que sea atendido primero y t煤 que llegaste al 煤ltimo seras atendido hasta el final.

 

Agregar elementos a una cola

Estructura de datos - Cola (Queue)
Fig.1: Muestra como un elemento es agregado a la cola(Izquierda) y como queda la cola luego de que el nuevo elemento entra en la cola(Derecha).

Si apreciamos en la figura anterior聽cuando un nuevo elemento entra en la cola se posiciona siempre al final de la cola a si mismo este sera el ultimo en salir.

as

Patr贸n de dise帽o – Proxy

UMLEn esta entrada les hablare del patr贸n de dise帽o Proxy,聽el cual es uno de mis favoritos ya que nos permite hacer una gran cantidad de cosas sin que el usuario final se de cuenta de lo que esta pasando.聽Podr铆amos definir a un Proxy como una clase o componentes que hace el papel de intermediario entre la clase que queremos utilizar el cliente que la esta utilizando. Cuando digo intermediario me refiero a que el Proxy nos permite hacer una o varias operaciones antes y despu茅s de realizar la tarea que realmente quiere el cliente, incluso el proxy puede tomar la decisi贸n de nunca realizar la tarea solicitada por el usuario.

Patr贸n de dise帽o Proxy
Fig.1: Diagrama que muestra como esta conformado un Proxy, Un Proxy se crea a trav茅s de una interfaz la cual imita el comportamiento de esta, Sin embargo el trabajo realmente lo delega a otra clase que generalmente tambi茅n implementan la interfaz del Proxy.

as

Java Message Service (JMS)

QueueEn este Post se habla hacer de la especificaci贸n de JMS, los patronos de entrega de manejes que soporta como lo son Punto a Punto(P2P) y Publicador/Suscriptor. Tambi茅n hablare sobre los Temas y Colas (Topis and Queues) y los diferentes tipos de suscriptores que soporta la implementaci贸n de JMS.

Java Message Service es una especificaci贸n de la Java Community Process(JRS 914) la cual fue desarrollada originalmente para permitir a las aplicaciones Java comunicarse con los proveedores MOM o Middleware Orientado a Mensajes la cual buscaba los siguientes objetivos: as

Estructuras de datos – Listas ligadas

ListaLigadaAgregarSin duda una de las partes mas emocionantes cuando programamos es la parte de la algoritmia donde tenemos que usar la mente para resolver problemas que se escuchan f谩cil pero a la hora de programarlas es otra cosa.

En esta ocasi贸n hablare un poco de las Listas ligadas y de las variantes que existen entre ellas.

Podr铆amos definir a una lista ligada como un colecci贸n de elementos que est谩n enlazados entre si y que cada nodo contiene un valor y las hacia otros nodos. as