Prototype Pattern adalah sebuah pattern yang mengacu pada pembuatan "duplikat objek" atau "pengkloningan objek" atau bisa dikatakan pattern ini membuat objek dengan mengkloning objek yang telah ada. Pattern ini dimaksudakan untuk memangkas cost dalam pembuatan objek baru. Artinya tanpa memdeklarasikan keyword "new" yang menyebabkan program boros memory. Prototype Pattern ini termasuk ke dalam Creational Pattern.
Implementasi
Kita akan membuat 4 buah objek Box. Objek Box 1 dan Box 2 kita isi secara manual. Sedangkan objek Box 3 kita akan isi dengan Box 1 dan box 4 kita isi dengan Box 2. Bagaimanakah implementasinya? Berikut adalah contoh implementasi dari Prototype pattern :
1. Buat class Box.java implements Cloneable interface
package belajar.design.pattern; public class Box implements Cloneable { private String color; public Box(String col){ setColor(col); } public Box clone(){ Box b = null; try{ b = (Box)super.clone(); }catch(Exception e){ } return b; } public String getColor() { return color; } public void setColor(String color){ this.color = color; } }
2. Buat class TestPrototypePattern
package belajar.design.pattern; public class TestPrototypePattern { public static void main(String[] args){ Box box1 = new Box("GREEN"); Box box2 = new Box("RED"); System.out.println("Box 1 dan Box 2 yang telah di isi"); System.out.println("Box 1 : "+box1.getColor()); System.out.println("Box 2 : "+box2.getColor()); System.out.println(); System.out.println("Box 3 di clone dengan Box 1"); Box box3 = box1.clone(); System.out.println("Box 3 : "+box3.getColor()); System.out.println("Box 4 di clone dengan Box 2"); Box box4 = box2.clone(); System.out.println("Box 4 : "+box4.getColor()); } }
3. Verifikasi Output
Box 1 dan Box 2 yang telah di isi Box 1 : GREEN Box 2 : RED Box 3 di clone dengan Box 1 Box 3 : GREEN Box 4 di clone dengan Box 2 Box 4 : RED
Baca Juga :
Java Singleton Pattern
Entri Sebelumnya :
Java Method Factory Pattern
No comments:
Post a Comment