Bridge Pattern digunakan pada saat kita perlu memisahkan interface dari implementasinya yang akan memberikan fleksibilitas sehingga keduanya dapat bervariasi secara independen. Pattern ini melibatkan sebuah interface yang bertindak sebagai jembatan yang akan membuat fungsionalitas concrete class menjadi independen dari implementasinya. Bridge Pattern termasuk kedalam Structural Pattern.
Contoh Implementasi
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.
Note : Bagi pengguna mobile, mohon aktifkan JavaScript dan matikan fitur Google Web Light untuk melihat kode berikut secara keseluruhan.
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]
Baca Juga :
Java Composite Pattern
Entri Sebelumnya :
Java Adapter Pattern
Maaf nih mau nanya cara bikin nya bagaimana ya untuk Draw API nya?
ReplyDelete