Anda di halaman 1dari 7

BRIDGE DESIGN PATTERN

A. Pengertian
Pattern bridge adalah pola desain struktural yang memungkinkan Anda membagi kelas besar
atau sekumpulan Kelas yang terkait erat menjadi dua hierarki terpisah abstraksi dan
implementasi yang dapat dikembangkan secara independen satu sama lain. Bertujuan untuk
mengatasi masalah cartesian product complexity explosion atau pola ini sebagai pola/kontrak
yng harus dipenuhi oleh class yang akan meng-implements-nya.

Pola Bridge mencoba memecahkan masalah ini dengan beralih dari pewarisan ke komposisi
objek.Artinya, Anda mengekstrak salah satu dimensi ke dalam hierarki kelas yang terpisah,
sehingga kelasAsli akan mereferensikan objek hierarki baru, alih-alih memiliki semua popularity
dan perilakunya dalam satu kelas.Implementasi dan contoh kode program

Struktur dari bridge design pattern

Dalam contoh ini, kita memiliki beberapa persegi dengan masing-masing persegi memiliki nama
dan ukuran yang berbeda. Persegi-persegi ini adalah contoh gambaran dari sebuah concrete
class dan dia tercipta menjadi independen atau berdiri sendiri. Walaupun begitu ada sebuah
interface yang menjadi penghubung bagi mereka.

1. Buat interface  DrawAPI

package main;

public interface DrawAPI {

public void drawPersegi(int luas, int panjang);

  2. Buat class PersegiA

package main;

public class PersegiA implements DrawAPI {

@Override
public void drawPersegi(int luas, int panjang) {

System.out.println("Membuat Persegi[ Nama: PersegiA, Luas: " +


luas + ", Panjang : " + panjang + "]");

  3. Buat class PersegiB

package main;

public class PersegiB implements DrawAPI{

@Override

public void drawPersegi(int luas, int panjang) {

System.out.println("Membuat Persegi[ Nama: PersegiB, Luas: " +


luas + ", Panjang : " + panjang + "]");

}
}

  4. Buat abstract class Shape

package main;

public abstract class Shape {

protected DrawAPI drawAP;

public Shape(DrawAPI da){

drawAP = da;

public abstract void draw();

}
  5. Buat class Persegi

package main;

public class Persegi extends Shape{

private int panjang, lebar;

public Persegi(DrawAPI da, int panjang, int lebar) {

super(da);

this.panjang = panjang;

this.lebar = lebar;

@Override

public void draw() {

drawAP.drawPersegi(panjang,lebar);

}
}

  6. Test

package main;

public class Test {

public static void main(String[] args){

Shape A = new Persegi(new PersegiA(),200, 100);

Shape B = new Persegi(new PersegiB(),50,30);

A.draw();

B.draw();
}

  7. Verifikasi Output

Membuat Persegi[ Nama: PersegiA, Luas: 200, Panjang : 100]

Membuat Persegi[ Nama: PersegiB, Luas: 50, Panjang : 30]

Anda mungkin juga menyukai