Pola desain atau pola rancangan adalah sebuah istilah di dalam rekayasa perangkat lunak yang mengacu pada solusi umum yang bisa dipergunakan kembali atau berulang-ulang untuk menyelesaikan masalah-masalah yang umum terjadi dalam konteks tertentu atau khusus yang ditemui pada desain perangkat lunak. Sebuah pola desain yang sudah terbentuk bukan berarti desain tersebu
Step 2
membuat kelas konkrit
sumber
https://id.wikipedia.org/wiki/Pola_desain
https://nchy22.wordpress.com/2012/05/14/abstract-factor/
https://www.tutorialspoint.com/design_pattern/proxy_pattern.htm
Dalam pemrograman komputer, pola proxy adalah pola desain perangkat lunak. Proxy dalam bentuk yang paling umum adalah fungsi kelas sebagai sebuah antarmuka untuk sesuatu yang lain. Proxy bisa antarmuka untuk apa saja: koneksi jaringan, sebuah objek besar di memori, file, atau beberapa sumber daya lain yang mahal atau tidak mungkin untuk menduplikasi.
Contoh implementasi
Step 1
membuat antarmuka
public interface Image { void display(); }
membuat kelas konkrit
RealImage.java
public class RealImage implements Image { private String fileName; public RealImage(String fileName){ this.fileName = fileName; loadFromDisk(fileName); } @Override public void display() { System.out.println("Displaying " + fileName); } private void loadFromDisk(String fileName){ System.out.println("Loading " + fileName); } }
ProxyImage.java
public class ProxyImage implements Image{ private RealImage realImage; private String fileName; public ProxyImage(String fileName){ this.fileName = fileName; } @Override public void display() { if(realImage == null){ realImage = new RealImage(fileName); } realImage.display(); } }
Step 3
menggunakan Proxyimage untuk mendapatkan objek dar kelas realimage ketika dbutuhkan
ProxyPatternDemo.java
public class ProxyPatternDemo { public static void main(String[] args) { Image image = new ProxyImage("test_10mb.jpg"); //image will be loaded from disk image.display(); System.out.println(""); //image will not be loaded from disk image.display(); } }
Step 4
Output
Loading test_10mb.jpg Displaying test_10mb.jpg Displaying test_10mb.jpg
sumber
https://id.wikipedia.org/wiki/Pola_desain
https://nchy22.wordpress.com/2012/05/14/abstract-factor/
https://www.tutorialspoint.com/design_pattern/proxy_pattern.htm