Anda di halaman 1dari 8

Proxy Pattern

Luthfi Shofi Khoiron


125150407111004
Wahyu Satriyo W.
165150409111008
Proxy Pattern
Proxy Pattern adalah sebuah pola design class dimana
di dalamnya terdapat sebuah reference ke sebuah class
yang jauh lebih komplek atau berada ditempat lain. Atau
bisa juga, pola yang merancang suatu objek mewakili
kontrol atau akses objek lain bertindak seolah-oleh objek
tersebut melakukannya.
Kapan Menggunakan Proxy Pattern
?
Class komplek hanya boleh ada 1 dalam seluruh sistem
(bukan applikasi saja)

Class komplek berada di entitas lain VM (virtual


machine) lain, pc lain, proses lain

Ketiak anda tidak ingin instansiasi objek tersebut


kecuali objek tersebut benar-benar diminta oleh klien.
Struktur Proxy
Proxy:
Pattern
Mempertahankan referensi yang memungkinkan proxy
mengakses real subject. Proxy bisa merujuk ke
Subject jika RealSubject dan interface subject adalah
sama.
Menyediakan antarmuka identik dengan Subject
sehingga proxy dapat digantikan untuk real subject.
Akses kontrol ke real subject dan mungkin
bertanggung jawab untuk menciptakan dan
menghapusnya.
Subject:
Mendefinisikan antarmuka umum untuk RealSubject
dan Proxy sehingga Proxy dapat digunakan di mana
saja RealSubject berada.
Real Subject:
Skenario yang mungkin digunakan?
a. Virtual proxy: Menunda penciptaan dan inisialisasi objek sampai
dibutuhkan, di mana objek diciptakan pada saat ada permintaan
(Misalnya menciptakan objek RealSubject hanya ketika suatu method
dipanggil).

b. Protection Proxy: mengontrol akses pada real object. Protection proxy


berguna ketika objek harus memiliki hak akses yang berbeda.

c. Remote proxy: menyediakan perwakilan lokal untuk obyek pada bagian


alamat yang berbeda.

d. Smart reference proxy: Menyediakan akses untuk objek tertentu


seperti menghitung jumlah referensi ke objek dan menolak akses jika
sejumlah tertentu terpenuhi.
e. Cache Proxy/Server Proxy: Untuk menyediakan fungsi yang diperlukan untuk menyimpan
hasil operasi target yang paling sering digunakan. Objek proxy menyimpan hasil ini dalam
beberapa jenis repositori. Jika klien melakukan permintaan operasi yang sama, proxy
mengembalikan hasil operasi dari area penyimpanan tanpa benar-benar mengakses objek
target.

f. Firewall Proxy: Penggunaan utama adalah untuk melindungi objek target dari klien. Sebuah
firewall proxy juga dapat digunakan untuk menyediakan fungsi yang diperlukan untuk
mencegah klien mengakses target berbahaya.

g. Sinkronisasi Proxy: Untuk menyediakan fungsionalitas yang diperlukan untuk memungkinkan


memberikan akses aman secara bersamaan ke objek target oleh objek klien yang berbeda.

h. Counting Proxy: Untuk menyediakan beberapa jenis mekanisme audit sebelum mengeksekusi
metode pada objek target.
Virtual Proxy
Protection Proxy