Evaluacion 2

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 13

PATRONES DE DISEÑO

EVALUACIÓN 2

Alumno: Matias Mauricio Aravena Gómez


Docente: Juan Manuel Martínez Morales
Modulo: Patrones de Diseño
Fecha: 24/10/2022
Índice

Introducción...................................................................................................................................2
Punto 1.............................................................................................................................................3
Punto 2.............................................................................................................................................4
Punto 3.............................................................................................................................................5
Punto 4.............................................................................................................................................6
Punto 5.............................................................................................................................................7
Punto 6.............................................................................................................................................8
Punto 7.............................................................................................................................................9
Punto 8...........................................................................................................................................10
Conclusión....................................................................................................................................11

1
Introducción

La creación de un programa mediante los patrones de diseño nos permite crear un


programa más fácil de entender tanto para el usuario como el grupo de trabajo que
se encuentra detrás de la creación de un programa.
La empresa de ventas de artículos de computación “SNF” esta interesada en crear
un sistema de venta online, que les permita llegar a nuevos clientes. Para lograr
esto, desean aplicar una estrategia de marketing que les permita diferenciarse de
la competencia. Tras realizar el análisis de lo que desea el cliente, nuestro analista
funcional ha identificado los siguientes requerimientos:

A continuación, se presentara soluciones a estos requerimientos.

2
Punto 1

1. El sistema debe tener un acceso al sistema por medio de un correo


electrónico y una contraseña. Estos datos deben ser registrados en una
base de datos, junto a los datos nombre, apellidos, dirección, ciudad,
comuna y perfil (Cliente, administrador, empleado)

Patrón de diseño Facade


Código de programación

3
Como se puede apreciar en la imagen se ocupa un patrón de diseño facade
o fachada, ya que nos permite simplificar y separar la comunicación entre el
cliente y la complejidad del sistema interno. De esta manera, el cliente solo
debe conectarse a una interfaz y esta a su vez se comunicará con el resto
del sistema sin que el cliente sepa que procesos esta haciendo el sistema.

4
Punto 2

2. Al desplegar la información relacionada a un producto, el sistema debe


mostrar los precios publicados por paginas relacionadas. Esto se debe
realizar a través de las APIs de los sitios web de las empresas
competidoras.

Patrón de diseño Facade


Código de programación

Nuevamente ocupamos el patron de diseño facade o fachada, ya que nos


permite simplificar y separar la comunicación entre el cliente y la
complejidad del sistema interno. De esta manera, el cliente solo debe
conectarse a una interfaz y esta a su vez se comunicará con el resto del
sistema sin que el cliente sepa que procesos está haciendo el sistema,
también es importante mencionar que estamos simulando precios de otras
tiendas mediante las APIs, esto permite que el producto que esta buscando
el cliente muestre los distintos tipos de precios en otras tiendas.

5
Punto 3

3. Al momento de pagar, el sistema debe mostrarle al cliente alternativas de


compras adicionales y promociones. Si el cliente selecciona una de estas
alternativas, debe agregar el valor al total.

Patrón de diseño Decorador


Código de programación

En este punto se ocupo el patrón de diseño Decorador, ya que, al momento


de seleccionar un producto, este debe decir que se cargó correcta y
posteriormente que se generó la compra de él, también es importante
mencionar que el decorador permite agregar funcionalidades que antes no
estaban. Como, por ejemplo, cuando el cliente en vez de pagar solo un
producto, prefirió agregar otro más.

6
Punto 4

4. Debe considerar que el stock disponible se encuentra en el sistema actual


de la empresa, del cual no tenemos el código fuente, aunque si existen
algunos webservices con información general, pero el cliente insiste en que
el stock sea reflejado según lo indicado en este sistema legado.

Patrón de diseño Facade


Código de programación

Volvemos a implementar el patrón de diseño Facade, ya que el cliente solo


necesita una interfaz que le muestre stock disponible del sistema, si bien es
cierto no sabemos su código fuente, el sistema reflejara con lo que se
cuenta, sobre todo al momento de generar una venta.

7
Punto 5

5. El sistema debe crear y ordenar categorías de acuerdo a los productos en


el sistema, y determinar si es una categoría base o una subcategoría.

Patrón de diseño
Código de programación

8
Punto 6

6. Tras realizar la compra, se debe llevar un control del despacho del


producto, indicándole al cliente en qué fecha lo recepcionará y debe
indicarle al sistema cuando el producto haya sido entregado.

Patrón de diseño Composite


Código de programación

En punto se ocupo el patrón de diseño composite que en palabras simples


ayuda a simplificar el planteamiento de programas que traten con objetos
relacionados, que pueden agruparse en grupos heterogéneos, como
también lo es que estos grupos se consideren como elementos propios.

En este caso cuando el cliente efectúa una compra, le muestra la fecha de


cuando la realizo y un aviso de cuando puede ser entregado.

9
Punto 7

7. Actualmente, la empresa posee 3 sucursales. Sin embargo, se espera que


durante el próximo año se inicie una agresiva estrategia de expansión. El
cliente solicita que se le ilustre respecto a la mejor forma de programar el
sistema de modo que no afecte a su perfomance.

Patrón de diseño Factory


Código de programación
Código Original del sistema

Variante A Variante B

let username = getUserName(); let username = getUserName();


let password= getPassword(); let password= getPassword();
let user = { username, password}; let user = { username, password};
client.post(user).then(/*Variante client.get(user).then(/*Variante
A*/); B*/);

Código Nuevo para el sistema

function getUser(){
return {
user:getUserName();
password:getPassword();
}
}

//Variante A
client.post(getUser()).then(/*Variante A*/ );

//Variante B
client.get(getUser()).then(/*Variante B*/);

En la tabla se puede apreciar un ejemplo que el código de programación


original es más largo al momento pedir algunos datos, mientras que el
código nuevo, es más reducido y hace exactamente lo mismo, con la
finalidad de que no afecte el funcionamiento original del programa.

10
Punto 8

8. La empresa solicita que el sistema se encuentre construido con Java 8 y


Spring Framework para el Backend. Para el Frontend, se solicita Angular 6.
Por último, la base de datos será Oracle 12c.

Patrón de diseño modelo vista controlador


Código de programación

En este ultimo punto se ocupa el patrón de diseño modelo vista controlador


(MVC), que nos permite separar las responsabilidades del sistema,
desacoplando el modelo y la vista, permitiendo su comunicación a través
del controlador, también es importante mencionar que esto significa que
cuando hacemos un cambio en alguna parte de nuestro código, esto no
afecte otra parte de este. Ejemplo si modificamos la base de datos del
sistema, solo debería modificar el modelo ya el se encarga de los datos y el
resto de la aplicación debería permanecer intacta.

11
Conclusión

Para concluir con la solución a los requerimientos que fueron entregados por la
empresa, es importante mencionar que existen diversos patrones de diseños que
ayudan a la confección de un software, sobre todo en lo que corresponde a la
programación o codificación de él, esto ayuda a que el Código sea más simple y
fácil de entender, ya que muchas veces los programadores se ven enfrentados a
un Código Spaghetti y se les dificulta mucho entenderlo, pero con los patrones de
diseño esa inmensa cantidad de información de Código, puede resultar ser más
clara y fácil de entender. Ya que no es factible entregar un programa robusto
pero difícil de ocupar, ya que como ingenieros debemos entregar la solución más
fácil, es decir lo difícil hacerlo sencillo.

12

También podría gustarte