Proxy, Dekorator, Adaptor dan Pola Jembatan

1. Perkenalan

Pada artikel ini, kita akan fokus pada Pola Desain Struktural di Java - dan membahas apa saja ini dan beberapa perbedaan mendasar di antara beberapa di antaranya.

2. Pola Desain Struktural

Menurut Gang Of Four (GoF), pola desain dapat diklasifikasikan menjadi tiga jenis:

  1. Kreasi
  2. Struktural
  3. Perilaku

Sederhananya, Pola Struktural berhubungan dengan komposisi kelas dan objek. Mereka menyediakan cara berbeda dalam menggunakan komposisi objek dan pewarisan untuk membuat beberapa abstraksi.

3. Pola Proxy

Dengan pola ini, kami membuat perantara yang bertindak sebagai antarmuka ke sumber daya lain , misalnya, file, koneksi. Akses sekunder ini menyediakan pengganti untuk komponen sebenarnya dan melindunginya dari kompleksitas yang mendasarinya.

Untuk contoh mendetail dari pola tersebut, lihat posting khusus: Pola Proxy di Java.

Poin Utama Diferensiasi:

  • Proksi menyediakan antarmuka yang sama dengan objek yang dirujuknya, dan tidak mengubah data dengan cara apa pun; ini berbeda dengan pola Adaptor dan Dekorator yang mengubah dan menghiasi fungsi masing-masing instans yang sudah ada sebelumnya
  • Proxy biasanya memiliki informasi tentang subjek sebenarnya pada waktu kompilasi itu sendiri sedangkan Dekorator dan Adaptor diinjeksi pada waktu proses, hanya mengetahui antarmuka objek yang sebenarnya

4. Pola Dekorator

Pola ini berguna untuk meningkatkan perilaku suatu objek. Untuk gambaran umum mendetail, lihat tutorial terfokus di sini: Pola Dekorator di Java

Poin utama dari diferensiasi:

  • Meskipun pola Proxy dan Dekorator memiliki struktur yang serupa, keduanya berbeda dalam maksud; sementara tujuan utama Proxy adalah untuk memfasilitasi kemudahan penggunaan atau akses terkontrol, Dekorator melampirkan tanggung jawab tambahan
  • Baik pola Proxy dan Adaptor memegang referensi ke objek aslinya
  • Semua dekorator dari pola ini dapat digunakan secara rekursif, berkali-kali, yang tidak mungkin dilakukan dengan model lain

5. Pola Adaptor

Pola Adaptor digunakan untuk menghubungkan dua antarmuka yang tidak kompatibel yang sebaliknya tidak dapat dihubungkan secara langsung. Adaptor membungkus kelas yang ada dengan antarmuka baru sehingga menjadi kompatibel dengan antarmuka yang diperlukan.

Untuk penjelasan rinci dan implementasi, lihat posting khusus: Pola Adaptor di Java

Perbedaan utama antara pola Adaptor dan Proxy adalah:

  • Meskipun proxy menyediakan antarmuka yang sama, Adaptor menyediakan antarmuka berbeda yang kompatibel dengan kliennya
  • Pola adaptor digunakan setelah komponen aplikasi dirancang sehingga kita dapat menggunakannya tanpa mengubah kode sumber. Ini berbeda dengan pola Bridge, yang digunakan sebelum komponen dirancang.

6. Pola Jembatan

Pola Bridge digunakan untuk memisahkan abstraksi dari implementasinya sehingga keduanya dapat berbeda secara independen.

Ini berarti membuat antarmuka jembatan yang menggunakan prinsip OOP untuk memisahkan tanggung jawab ke dalam kelas abstrak yang berbeda.

Untuk penjelasan rinci dan implementasi, lihat posting khusus: Bridge Pattern in Java

Poin Utama Diferensiasi :

  • Pola Bridge hanya dapat diterapkan sebelum aplikasi dirancang.
  • Mengizinkan abstraksi dan implementasi berubah secara independen sedangkan pola Adaptor memungkinkan kelas yang tidak kompatibel untuk bekerja bersama

7. Kesimpulan

Pada artikel ini, kami fokus pada Pola Desain Struktural dan perbedaan antara beberapa tipenya.

Seperti biasa, implementasi lengkap dari tutorial ini dapat ditemukan di Github.