Está en la página 1de 6

Patrones de diseño estructurales II

Cómo se puede aplicar el patrón de diseño creacional facade?.

Este Patrón tiene como objetivo crear una interfaz simplificada para tratar con otra
parte del código más compleja, de tal forma que simplifica y aísla su uso. Este patrón se
puede implementar en el caso de consultar por los alumnos

Clase Alumno

public class Alumno{


private String NombreAlumno;
public String getNombreAlumno(){
return nombrealumno;
}

public void setNombreAlumno(String nombrealumno){


this.nombrealumno = nombrealumno;
}

public void MostrarAlumno(){

System.out.println( nombrealumno);
}
}

Clase Fachada

public class Fachada{


private Alumno;
public Fachada(String text){
super();
Alumno.setNombreAlumno("revisando los alumos");
}

public void mostraralumno(){


Alumno.MostrarAlumno();
}
}
2) ¿Cuáles son las características del sistema que se adecuan a la aplicabilidad del
patrón flyweight? (2 puntos).

De acuerdo al enunciado a continuación mencionare puntos importantes del patrón


para la implementación en el sistema

 Queremos optimizar el tamaño en memoria que ocupa para sacar el máximo


partido al sistema y no desaprovechar los recursos con datos redundantes dado
que este sistema tendría varia información redundante

 Compartir objetos ligeros, para hacer el programa más liviano.

 Mejorar la eficiencia, sobre todo en relación con el ahorro en el almacenamiento


ejemplo alumnos inscritos por curso

 Este patrón tiene la cualidad de reducir el peso de los datos en el servidor lo cual
es un punto importante al momento de implementar en nuestro sistema
considerando la cantidad de información que se almacenara.

3) ¿Es posible que el sistema creado maneje el patrón proxy? Justifique su


respuesta.

Según mi punto de vista si es posible, incluso diría que es primordial dado que el
sistema se implementara en diferentes sucursales a lo largo de chile es fundamental
implementar este patrón para tema de seguridad de nuestro sistema. Cuando un objeto
debe ser controlado de alguna manera, ya sea por simple control de acceso (loggin) o por
ser muy pesado y se quiere limitar su uso, es ideal utilizar este patrón.

Vamos a realizar un ejemplo de un proxy remoto: la finalidad es que nuestro


sistema guarde datos en un servidor remoto esto resulta importante en el caso de no
tener conexión con el servidor la información será almacenada en el disco local y una vez
que establezca la conexión se guardara en la base de datos.

Public class conexion

{ private static boolean conectado;

public conexion (){


conectado= false; }

public static void conectate() {

conectado=true;}

public static void desconectar(){

conectado=false; }

public static boolean conectado (){

return cpnectado;}

public interface Guardar {

public void save(ArrayList datosAGuardar); }

public class GuardarDiscoDuro implements Guardar

public void save(ArrayList datosAGuardar) {

System.out.printLn("Datos Guardados en el disco"); }

public class ObjetoRemoto implements Guardar

public void save(ArrayList datosAGuardar) {

System.out.printLn("Datos Guardados en servidor remoto"); }

proxy para que se fije si en ese momento hay conexión para aprovecharla y si no hay
conexión que guarde los datos en el disco momentáneamente.

public class GuardaDatos implements Guardar

public void save(ArrayList datosAGuardar) {

if (conexion.conectado())

new ObjetoRemoto().save(datosAGuardar);
else

new GuardarDiscoDuro().save(datosAGuardar);

4) ¿Qué patrón de diseño estructural utilizaría en este caso?.

Basándome en el contexto del sistema y en los patrones estudiados esta semana


se me hizo muy difícil ya que todos los patrones se pueden implementar en el sistema.

El Patrón que implementaría en el sistema es facade porque este patrón hace que
el sistema sea fácil de usar creando una interfaz de alto nivel unificada que engloba a las
interfaces del subsistema; de esta manera se reduce al mínimo la comunicación y
dependencia entre todas las sucursales y de la misma manera con el staff.

El patrón indica que al crear una fachada esta hará que el acoplamiento entre los
subsistemas y el cliente sea bajo por lo que la fachada será una clase abstracta con
subclases concretas. Este proceso tendrá beneficios al momento de tener una clase
alumnos y con la fachada se mostrará los alumnos de cada sede que se desea consultar.
Bibliografía

Patrones de diseño estructurales II. Semana 5.

También podría gustarte