You are on page 1of 2

21/11/2009 Programación: El patrón composite

Compartir Informar sobre mal uso Siguiente blog» Crear un blog Acceder

Programación
Cosillas de programación e informática en las que ando metido.

Java Rich Client Curso Online de Java Farbitek, Panel Aluminio Etiquetas
Power y our Jav a rich client WebRenderer Aprende a programar Jav a y a desarrollar Fachadas, Anuncios de Imagen Actual
embeddable Jav a browser aplicaciones. Inf órmate Alucomex, Rey nobond, Alucobond anecdotas (7)
www.webrenderer.com mexico.seas.es www.f arbitek.com.mx/ACPFK.htm
blog (1)
bugzilla (5)
compras (7)
curiosidades (2)
23 octubre 2005 diseño (2)
El patrón composite herramientas (20)
java (9)
Aprovechando el tema de las interfaces y su ejemplo, el de sacar linux (1)
la salida por impresora, pantalla o base de datos, voy a contar un maven (3)
poco en qué consiste el patrón de diseño compuesto (o reflexiones (2)
"composite"). tutoriales (3)

Supongamos que el gracioso que mencionabamos en las


interfaces, nos pide poder sacar en la pantalla y en la impresora a Archivo del blog
la vez. Una solución es hacerse una clase PantallaEImpresora que
► 2006 (179)
implemente Escritor y escriba en pantalla y en impresora.
▼ 2005 (137)
Sin embargo, hay una solución mejor. Hacer la clase ► diciembre (12)
PantallaEImpresora tiene la pega tonta de que necesitamos ► noviembre (22)
repetir el código de nuestra clase Pantalla y de nuestra clase ▼ octubre (19)
Impresora. En nuestro tonto ejemplo, el código es tonto y no se
pierde mucho tiempo en repetirlo, pero en un programa serio, Más de emule
seguramente no se hace tan rápido. Además, ¿por qué reptetir el Una de eMule
código que ya tenemos hecho, en contra de la filosofía de Captura de teclas en un
reutilización?. JTextField de java
Uso de strtok()
Una solución mejor es hacerse una clase "compuesto". Esta clase El patrón composite
guarda dentro una lista de Escritores y a su vez implementa la Por qué usar interfaces
interface Escritor. En el método escribe(), lo que hace es ir Un buscador de rpm
llamando a los métodos escribe() de todos los Escritor que tiene La clase java.awt.Robot
guardados. Por supuesto, puede tener métodos para añadir o plugin de vi para eclipse
borrar Escritores sobre la marcha. Sobre Debian
Me han fastidiado los de
El código puede ser parecido a este oracle
_gxx_personality_v0
class CompuestoEscritores implements Escritor DVD2DivX V4
{ Grabando con la AverTV
203
// Lista de escritores Un chat en java
private LinkedList escritores = new LinkedList(); Entornos y herramientas
para desarrollo de
// Añade un escritor a la lista softwar...
El fin de fichero en C
…blogspot.com/…/el-patrn-composite.… 1/2
21/11/2009 Programación: El patrón composite
public void addEscritor (Escritor escritor) El fin de fichero en C
{ Las cosas de Windows
escritores.add(escritor); Meter todo nuestro
} programa java en un
solo jar
// LLama al escribe() de todos los escritores ► septiembre (26)
public void escribe (String cadena) ► agosto (8)
{
► julio (7)
for (int i=0;i&ltescritores.size();i++)
{ ► junio (5)
((Escritor)escritores.get(i)).escribe(cadena); ► mayo (1)
} ► abril (11)
}
► marzo (8)
}
► febrero (9)
Con esta clase tan tonta, podemos permitir que nuestro código ► enero (9)
anterior sea capaz de sacar los resultados en varios sitios a la ► 2004 (4)
vez, eligiendo qué sitios. Además, si inventamos un nuevo sitios
(por ejemplo, enviar los resultados por red) bastará como antes
hacer la clase Escritor correspondiente y podemos añadirla tanto Feed
aquí como a nuestro método de cálculos.

Una pequeña tontería, el código de CompuestoEscritores lo


acabo de poner sobre la marcha, igual ni siquiera compila....
Publicado por chuidiang en 11:40 AM
Otros blogs
Mis cosas de
programación
0 comentarios: Dahernan
Yo programador
Publicar un c omentario en la entrada

Enlaces a esta entrada Enlaces


Chuwiki
Crear un enlac e Apuntes de
Entrada más reciente Página principal Entradas antiguas Programación
Foro de Java y C++
Suscribirse a: Enviar comentarios (Atom)
Mapa de Visitantes
Java Rich Client Farbitek, Panel Aluminio Maxbond International Co.
Power y our Jav a rich client WebRenderer Fachadas, Anuncios de Imagen Actual We produce Top Quality Aluminium
embeddable Jav a browser Alucomex, Rey nobond, Alucobond Composite Panel and Coated Coils
www.webrenderer.com www.f arbitek.com.mx/ACPFK.htm www.maxchancetw.com Datos personales
chuidiang

Ver todo mi perfil

…blogspot.com/…/el-patrn-composite.… 2/2

You might also like