Interface Gráfica Utilizando Padrões Estruturais ( Bridge)

3 respostas
V

Boa noite!
Sérá que alguém poderia me explicar e me passar um código bem simples utilizando o padrão Bridge???
Estou estudando esse tema na escola, só que quanto mais eu estudo mais confusa eu fico… :shock:
No livro que peguei diz o seguinte:

Intenção
Desacoplar uma abstração da sua implementação, de modo que as duas possam variar independente

Desde já agradeço… :slight_smile:

3 Respostas

R

Há vários materiais disponíveis para consulta:

http://www.javacamp.org/designPattern/bridge.html
http://en.wikipedia.org/wiki/Bridge_pattern#Java

V

MUITO OBRIGADA ! :-]

V

Estudei esse códio mas não entendi…
Será que poderia me dar uma mãozinha? :oops:

/** “Implementor” <em>/

interface DrawingAPI {

public void drawCircle(double x, double y, double radius);

}

/</em>* “ConcreteImplementor” 1/2 */

class DrawingAPI1 implements DrawingAPI {

public void drawCircle(double x, double y, double radius) {

System.out.printf(API1.circle at %f:%f radius %f\n, x, y, radius);

}

}
/** Abstraction */

interface Shape {

public void draw();

public void resizeByPercentage(double pct);

}
/** “Refined Abstraction” */

class CircleShape implements Shape {

private double x, y, radius;

private DrawingAPI drawingAPI;

public CircleShape(double x, double y, double radius, DrawingAPI drawingAPI) {

this.x = x; this.y = y;

this.radius = radius;

this.drawingAPI = drawingAPI;

}
public void draw() {

drawingAPI.drawCircle(x, y, radius);

}

public void resizeByPercentage(double pct) {

radius <em>= pct;

}

}

/</em>* “Client” */

class BridgePattern {
public static void main(String[] args) { 

       Shape[] shapes = new Shape[2];
        shapes[0] = new CircleShape(1, 2, 3, new DrawingAPI1()); 
        shapes[1] = new CircleShape(5, 7, 11, new DrawingAPI2()); 

        for (Shape shape : shapes) { 
          shape.resizeByPercentage(2.5); 
            shape.draw(); 
         }
   }

}

Criado 28 de setembro de 2009
Ultima resposta 30 de set. de 2009
Respostas 3
Participantes 2