Documentos de Académico
Documentos de Profesional
Documentos de Cultura
SANTA CLARA
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
MATERIA:
19
ACTIVIDAD:
Elabora una
investigacin
documental acerca
de distintos
patrones
19
Introduccin:
Con el paso del tiempo la tecnologa avanza de manera sorprendente, la oferta y
demanda de las personas cada vez son mayores, todo debe adaptarse a las
necesidades requeridas.
Todos los programadores son los encargados de satisfacer esas necesidades, de
manera correcta, y con el principal enfoque la seguridad.
Y como seguridad es sinnimo de prioridad.
Es por eso que a continuacin presentar un pequeo proyecto en el cual llevar a
cabo la explicacin de algunas medidas de seguridad que implementndose,
aseguran la integridad de los datos de nuestro usuario.
Cmo lograr eso?
Existen diversos mtodos para ello, pero de entre todos ellos, tres, los ms
destacables y en los cuales me centrar.
Adems de una pequea explicacin del funcionamiento de los objetos, para as
poder analizar que cada uno de ellos se complementan y son usados segn sea el
caso.
19
Portada
...pgina 1
Introduccin:
arriba
Singular o Singleton:
.
abajo
Mtodo Factora o Factory Method
abajo
Prototype
.abajo
DES (Data Encription Standard )
..abajo
Creando objetos..................................................................................................
...............abajo
Finalizar un objeto en Java
.abajo
Manejo de Excepciones
abajo
Conclusin:
.abajo
Fuentes de consulta: Fecha de consulta: 16/06/2016:
abajo
19
Desarrollo:
Singular o Singleton:
La idea del patrn Singleton es proveer un mecanismo para limitar el nmero de
instancias de una clase. Por lo tanto el mismo objeto es siempre compartido por
distintas partes del cdigo. Puede ser visto como una solucin ms elegante para
una variable global porque los datos son abstrados por detrs de
la..interfaz..que..publica..la..clase..singleton.
Dicho de otra manera, esta patrn busca garantizar que una clase slo tenga una
instancia
y
proporcionar..un..punto..de..acceso..global..a..ella.
Usaremos..este..patrn..cuando:
Debe haber exactamente una instancia de una clase y deba ser accesible a los
clientes
desde
un
punto
de..acceso..conocido.
Se requiere de un acceso estandarizado y conocido pblicamente.
Sus usos ms comunes son clases que representan objetos unvocos. Por ejemplo, si
hay un servidor que necesita ser representado mediante un objeto, este debera ser
nico, es decir, debera existir una sola instancia y el resto de las clases deberan de
comunicarse con el mismo servidor.
Ejemplo.
Como dije anteriormente, este patrn es ideal para aquellas clases que representan
objetos nicos. Por ejemplo, un instituto educativo es un objeto nico. No
deberamos crear muchas instancias de esta clase ya que al hacer esto estaramos
diciendo que hay varios institutos educativos. Caso contrario seran los alumnos que
asisten a dicho instituto. Debera haber un objeto por cada uno de los alumnos, ya
que todos ellos tienen propiedades distintivas, desde el nombre hasta el documento
de identidad. Pero todos los alumnos deberan comunicarse con el mismo instituto.
19
19
Mtodo
Factora
Factory Method
Libera al desarrollador
clase
concreta
necesitan
subclases
decidan que
instancias.
subclase.
Este patrn debe ser utilizado cuando:
Una clase no puede anticipar el tipo de objeto que debe crear y quiere que
sus subclases especifiquen dichos objetos.
19
19
El
Prototype
patrn
prototype
tiene
un
objetivo muy sencillo: crear a partir de un modelo.Permite
crear objetos prediseados sin conocer
posea objetos con datos repetitivos, en cuanto a sus atributos: por ejemplo, si
una biblioteca posee una gran cantidad de libros de una misma editorial, mismo
idioma, etc. Hay que pensar en este patrn como si fuese un fbrica que tiene
ciertas plantillas de ejemplos de sus prodcutos y, a partir de estos prototipos, puede
crear una gran cantidad de productos con esas caractersticas.
19
medio de la clonacin
Cliente:
crea
nuevos
que se clone.
de
Los objetos de
Prototipo
Concreto
heredan
de
Prototype y de esta
forma el patrn
se asegura de que los
objetos prototipo
proporcionan
un
conjunto consistente de mtodos para que los objetos clientes los utilicen.
Ejemplo: Nuestro ejemplo ser muy sencillo:
prototipos de TVs. Para ello
crearemos la clase TV y
dos subclases: LCD y Plasma.
19
19
Creando objetos.
Un objeto es una instancia de una clase.
La sintaxis para crear un objeto es new Objeto(), donde la parte izquierda del
igual representa la referencia del objeto.
Por ejemplo, para crear un objeto de la clase Persona habra que colocarla siguiente
sintaxis:
Persona p = new Persona()
El paradigma de objetos posee tres caractersticas fundamentales:
1. Encapsulamiento
2. Herencia
3. Polimorfismo
Finalizar un objeto en Java
Cuando un objeto ya no est en uso por el programa es eliminado de memoria por el
garbage collector. Si bien, antes de ser eliminado de la memoria, el garbage
collector finaliza el objeto Java. Es decir, ejecuta el mtodo finalize(). Y es que el
mtodo finalize() nos permite ejecutar las acciones pertinentes sobre el objeto antes
de que sea totalmente eliminado. Por ejemplo, podemos pensar en casos como
gestin de ficheros o bases de datos, en los cuales podremos cerrar las conexiones
sobre dichos recursos.
La definicin del mtodo finalize() tiene la siguiente estructura:
protected void finalize() throws Throwable{
System.out.println("Finalizando el Objeto");
super.finalize();
}
Al incluir el mtodo finalize() sobre un objeto estaremos reescribiendo el mtodo
finalize() por defecto que viene en la clase Object. Mediante la sentencia
super.finalize() estamos ejecutando el mtodo finalize() de las clases padre.
Aunque los mtodos finalize() se ejecutarn cuando pase el garbage collector, existe
la posibilidad de sugerir a la mquina virtual java (jvm) que se ejecute el finalize de
19
19
Vemos que se tiene un claro rbol de herencia mediante el cual se pueden definir las
categoras de Excepciones o de Error que se puede dar en el sistema.
La importancia de Prever:
Cuando se est programando debemos tener claro que nuestro cdigo no es
perfecto, as tengamos mucha experiencia en desarrollo siempre est la posibilidad
de que algo falle, sea por nuestro cdigo o por otros factores, por eso de la
importancia de contemplar todo desde antes, posibles fallos o lo que pueda afectar
el sistema.
Veamos un ejemplo Simple:
private void metodoDividir(int dividendo, int divisor){
String resultado+=dividendo/divisor;
System.out.println(resultado);
}
el metodoDividir(int, int) tericamente esta bien, claro, a simple vista si tenemos :
dividendo = 4 y divisor = 2 pues el resultado es 2 ......bsico....... pero y si el divisor
es 0? pues con ese caso puntual el resultado seria el siguiente.
Vemos que nos indican que se produjo una ArithmeticException debido a una
divisin por cero, adems se muestra cual fue la traza del error pasando por el
mtodo main hasta el metodoDividir().
La anterior es una Excepcion simple, algo que se supone no debera pasar, es obvio,
no se puede dividir por cero, o no?..pues no, en programacin no podemos asumir
ni pensar as, ya que muchas veces nos olvidamos de las cosas obvias y las
pasamos por alto, el problema es que eso tan obvio puede detener toda la ejecucin
del programa.
19
19
Veamos un poco mas lo que debemos tener en cuenta cuando usamos estos
bloques:
try : Aqu vamos a escribir todo el bloque de cdigo que posiblemente llegue a
lanzar unas excepcin la cual queremos manejar, aqu va tanto el cdigo como
llamados a mtodos que puedan arrojar la excepcin.
En este bloque solo se detectara la primera excepcion lanzada, hay que tener en
cuenta que por cada try se debe especificar un catch y/o un finally.
catch : en caso de que en el try se encuentre alguna excepcin, se ingresara
automaticamente al bloque catch donde se encontrara el cdigo o proceso que
queremos realizar para controlar la excepcin.
Se pueden especificar cualquier cantidad de catch de ser necesario, estos deben ser
ubicados despus del try y antes del finally (en caso de que este ultimo se
especifique), cada catch que se ponga debe manejar una excepcion diferente (no se
puede repetir) y el orden de estos depende de la jerarqua de herencia que se tenga,
ingresando al primer catch que pueda suplir la necesidad a corregir, por ejemplo.
try {
//Sentencias con posibles errores;
} catch(InterruptedException e){
//manejo de la exepcion
} catch(IOException e){
//manejo de la exepcion
} catch(Exception e){
//manejo de la exepcion
}
Si se genera una excepcin en el try, se valida a cual de los 3 catch se ingresa,
dependiendo si InterruptedException puede controlarlo se ingresa a esa, sino
entonces a IOException o si no a la superClase que seria Exception (ver la jerarqua
de herencia anterior).
En el ejemplo que del metodoDividir() trabajamos directamente con Exception e, de
esta forma nos aseguramos que capture cualquier excepcin, sin embargo se
recomienda usar la jerarqua en los catch para poderle dar un mejor manejo.
19
19
20:25
Cifrar y descifrar datos con DES | Java | Consultora Informtica
www.webprogramacion.com
20:25
Seguridad en JAVA: Tcnicas criptogrficas: Algoritmos de clave pblica
www.uv.es
19:37
Seguridad en JAVA: Introduccin
www.uv.es
19:15
Java - Destruir un Objeto...
www.lawebdelprogramador.com
19:15
Para que sirve este comando de java "intern()? - Foros del Web
www.forosdelweb.com
19:09
Leccin 69: Destruccin de Objetos en Java. - Foros de programacin informtica Comunidad de programacin
www.foro.lospillaos.es
19:05
Conceptos de objetos y clases en Java. Definicin de instancia. Ejemplos bsicos y
prcticos. (CU00619B)
www.aprenderaprogramar.com
19:03
Mi granito de java: Singleton
migranitodejava.blogspot.mx
18:47
Mi granito de java: Objetos
migranitodejava.blogspot.mx
18:30
Mi granito de java: Factory Method
migranitodejava.blogspot.mx
18:03
Mi granito de java: Patrones Creacionales
migranitodejava.blogspot.mx
17:25
Mi granito de java: Factory Method
migranitodejava.blogspot.mx
17:01
http://www.fdi.ucm.es/profesor/jpavon/poo/2.14pdoo.pdf
19