Patrones de diseño
Diseños establecidos para poder dar soluciones a problemas comunes.
Usan las herramientas de la orientación a objetos como base pero pueden ser implementados en cualquier lenguaje orientado a objetos (java, C++, Smalltalk, C#, …)
Patrones de diseño
Singleton
Planteamiento: ¿Cómo puedo conseguir controlar el número de instancias que se van a crear de una clase?
Solución:
Control = Encapsulación.
Creación = Constructores.
Combinación = Constructores privados.
¿Cómo conseguir que se pueda construir desde dentro si no puedo construir? Acceso mediante un método estático. Control mediante variables estáticas (únicas).
Patrones de diseño
public class Singleton
{
private static Singleton instance = null;
private Singleton()
{
}
public static Singleton getInstance()
{
if (instance == null)
instance = new Singleton();
return instance;
}
}
Patrones de diseño
Observer
Planteamiento: ¿Cómo puedo avisar de cierto comportamiento de una clase a todos aquellos que quieran conocerlo independientemente de quién quiera conocerlo?
Solución:
Independencia = abstracción = interfaz.
Hay dos elementos:
Generador = Observable.
Escuchador = Observer.
Patrones de diseño
Patrones de diseño
El patrón Observer en la API de Java.
Acceso a Bases de Datos en Java (I)
Uso de la API JDBC (Java Data Base Control)
Se trata de una API que define interfaces de acceso a datos completamente independientes de la implementación real de dichos datos.
La API engloba a distintos conceptos definidos en el paquete java.sql.
Acceso a Bases de Datos en Java (II)
El acceso a la implementación de datos lo realiza un driver concreto.
Esta carga se realiza usando la API de reflection de Java.
Class.forName(“NOMBRE_CON_PAQUETES_DE_LA_CLASE_DRIVER”);
Los drivers no son más que clases Java.
El acceso real se realiza a través de conexiones a los datos.
La clase DriverManager se encarga de crear la conexión a partir del driver que se necesite.
DriverManager.getConnection(“URL_DE_CONEXIÓN_SEGÚN_DRIVER”);
El objeto que se crea implementa la interfaz Connection.
Acceso a Bases de Datos en Java (III)
Consultas con JDBC
De la conexión a datos se pueden crear sentencias (statement).
Las sentencias se crean con los métodos:
Statement createStatement()
PreparedStatement prepareStatement(String)
de Connection.
Acceso a Bases de Datos en Java (IV)
La interfaz Statement permite controlar las sentencias. En su uso más sencillo permite:
Actualización:
DELETE, UPDATE, INSERT
int executeUpdate(String) // Devuelve el nº de elementos actualizados
Consulta:
SELECT
ResultSet executeQuery(String) // Devuelve una vista
La interfaz PreparedStatement extiende a Statement por lo que permite lo mismo. En su cadena de especificación se usa el carácter ‘?’ para identificar los valores variables. Posee métodos específicos para asignarlos posteriormente (setXXX(int indice, XXX)) en orden 1 a N.
Página siguiente |