Está en la página 1de 3

Patrones de Diseño

Resendiz Nieto Melanie Gabriela


UPIICSA, CIUDAD DE MEXICO, MÉXICO
nietomelanie7@gmail.com

I. Introducción computadora, podrían ser USB, Disco extraíble,


HDMI, entre otros, todos con características y usos
En 1994, cuatro autores Erich Gamma, Richard Helm, Ralph diferentes pero al final todos son soportados e
Johnson y John Vlissides, a los que llamaron Gang of Four implementados por el mismo ordenador. De esta
(GoF), publicaron un libro titulado Design Patterns, manera se soportar el formato de cada uno
elementos de software orientado a objetos reutilizables. Con individualmente para su uso y manejo mediante la
este trabajo se inició el concepto de patrón de diseño en el Fabrica creando nuevos objetivos para cada uno de
desarrollo de software y recoge 23 patrones de diseño estos.
comunes. Cada uno de ellos define la solución para resolver
• Singleton
un determinado problema, facilitando además la reutilización
Esto nos funciona para cuando hay únicamente un
del código fuente.
objeto que debe estar en varias instancias, el ejemplo
Los patrones de diseño o design patterns, son una solución que nos presenta el documento es un GPS, pues
general, reutilizable y aplicable a diferentes problemas de gracias a los permisos que tiene esta aplicación para
diseño de software. Se trata de plantillas que identifican con otras podemos acceder a nuestra ubicación
problemas en el sistema y proporcionan soluciones apropiadas actual desde otras aplicaciones para su uso como
a problemas generales a los que se han enfrentado los podría ser “Ubicación actual” en WhatsApp, “A
desarrolladores durante un largo periodo de tiempo, a través dónde voy?” en Uber/Didi e incluso para ver el clima
de prueba y error. del área donde estamos dúrate le día.
• Indirección
II. Desarrollo/Marco teórico Este patrón de diseño sugiere que, se mejore el
En el ámbito de la computación, según Larman (2004), un acoplamiento entre dos clases, delegando la
patrón de diseño es una descripción de un problema y su responsabilidad de intermediación entre estas clases,
solución, a la cual se le da un nombre, y se puede aplicar a a un tercer elemento, que puede ser otra clase. Como
nuevos conceptos. A continuación se describen brevemente ejemplo de este patrón de diseño encontramos los
los patrones utilizados en la investigación con base en pagos electrónicos, que utilizan una UI (interfaz de
Larman: usuario) a través de la cual, se realiza la mediación
entre el banco, el cliente y la tienda, de lo anterior se
• Polimorfismo generan clases que realizan diferentes métodos de
Cuando hay comportamientos que varían según el pago y establecen una conexión entre los
tipo de objetivo y se desea que sea entendible a todos involucrados
se utiliza el polimorfismo. La ventaja de este patrón • Observador
radica en evitar dependencias lógicas condicionales Este se activa cuando el objeto tiene un cambió en su
como cadenas de sentencias if-else o switch, las estado y los componentes deben reaccionar en
cuales son poco extensibles. respuesta; como ejemplo tenemos las bocinas con
Un ejemplo de esto podría ser el encendido de la bluetooth, al activar el bluetooth se conectará con el
televisión, en algunos nuevos modelos al encender el dispositivo que reproducirá el audio, al apagarlo esta
televisor podemos elegir que nos abra directamente informa al dispositivo que se acabo y deja de
la sección de los canales o directamente ir al menú reproducir el audio y se desconecta el bluetooth del
para seleccionar a donde se quiere ir, como podrían dispositivo.
ser Netflix, YouTube, entre otras, esto simplemente
A. Arquitectura de computadoras
al activar encendido en el televisor; de esta forma lo
que simplemente seria encender televisión puede 1) Partes de un computador
variar en sus objetivos dependiendo cada persona y
sus necesidades o deseos. John von Neumann dijo que un computador debe tener varias
partes para su funcionamiento pero principalmente podríamos
• Fabrica o Factoría
tener la unidad de cálculos lógicos y aritméticos (ALU), la
Consiste en crear un objeto que encapsule y se
unida de control y una sección de memoria para el guardado
encargue de la creación de objetos. Para ejemplificar
esto podemos tomar las entradas de una
de los datos, todas conectadas entre ellas como se muestra en  Cada hilo debe compartir la misma memoria. Cada
la figura 1. núcleo se comunica con la memoria mediante caches,
un cache para traer las instrucciones y otro para
guardar los datos requeridos. Todos los chaces
conectados a la memoria principal mediante un bus
que accede un cache a la vez.
 Una interfaz que muestre al usuario en todo momento
el estado actual de los núcleos incluyendo la cantidad
de ejecuciones y las instrucciones ejecutadas ➢
Entre otros.

C. Estructura del proyecto

Para su fácil construcción está dividido en lógica del


procesador y simulador de memoria, ambas desarrolladas
paralelamente; el procesador está construido por lo más
sencillo de la interfaz para implementar la versión MIPPS del
procesador solicitado.
Podemos observar (fig. 1) como la unidad de control y el ALU
se conectan con la memoria mediante buses que llevan y traen El núcleo es el componente que ejecuta los programas en el
información mediante procesos para realizar las operaciones simulador y posee únicamente un método llamado correr,
necesarias par el sistema. descrito mediante el siguiente pseudocódigo:

La ALU tiene la capacidad de r4ealizar diferentes operaciones etapas.iniciar()


lógicas, operaciones trigonométricas, y matemáticas, sumas y
mientras todas las etapas sigan ejecutándose
restas; mientras que el CPU le da la información a la ALU y
recibe el resultado producido para su interpretación. si todas las etapas terminaron un ciclo
Para Neumann, la CPU es la encargada del funcionamiento de avanzar el ciclo
todo el sistema, pues se encarga del envió y ejecución de
instrucciones, dando y administrando los recursos del sistema, si el número de ciclos es mayor que el número
especialmente para el manejo de la memoria. de ciclos máximo
Para el guardado de información se requiere una memoria de señalar a las etapas que terminen de ejecutarse
datos, en la actualidad esta la llamada RAM, o memoria de
acceso aleatorio esto porque es posible acceder directamente etapas.avanzarCiclo()
a cualquier dato guardado en ella.
etapas.terminarEjecucion()
Como se menciono anteriormente el BUS conecta diversas
partes del sistema entre sí, llevando o trayendo datos, como
puede ser, cuando el CPU le envía una operación o instrucción De esta forma la implementación de las etapas no afecta la
a la ALU enviada mediante un bus, a su vez otro bus envía la ejecución del núcleo y el objeto Etapas provee un
respuesta a la CPU para su interpretación y ejecución y comportamiento similar al de un adaptador
finalmente es enviada mediante un bus más a la memoria.
Descripción del simulador D. Trabajo futuro

B. Inicio del proyecto Para incrementar la capacidad de la aplicación a futuro, se


puede aplicar nuevos Patrones en otras áreas del proyecto. Por
Para el proyecto a realizar se utilizó un simulador de 32 bits ejemplo, el protocolo de control del bus usado en el proyecto
para el manejo de números enteros, también es multinúcleo lo actualmente es el protocolo “Snooping”. Si se deseara
que permite ejecutar 3 hilos al mismo tiempo. Se eligió este implementar un nuevo protocolo para mejorar la eficiencia del
simulador por los requerimientos necesarios, algunos de ellos bus con múltiples procesadores, se podría aplicar el patrón
serian: Estrategia y el patrón Composite para la implementación del
protocolo de control de bus. De esta forma se podría
 Debe tener un sistema operativo capaz de gestionar experimentar con distintos protocolos sin necesidad de
la distribución de los núcleos almacenados en la cola.
modificar drásticamente el código.
Cuando el primero se acabe el hilo será sacado del
núcleo y colocado al final de la cola.
III. Conclusiones
Como nos damos cuenta a lo largo de la lectura del ensayo
base, siempre se está usando algún patrón ya sea por sus
ventajas, funcionamiento o su simple manejo, todo dependerá
del formato en que se esté trabajando y lo que venga menor
para el manejo del sistema, aquí se ejemplifican 5 de los
patrones del diseño, porque fueron los que sirvieron para el
llevado del proyecto, sin embargo puede haber muchos más
que servirían también en otros proyectos con diferentes
requerimientos, todo basándonos en la problemática base y a
donde se quiere llevar ese trabajo

También podría gustarte