Pola desainadalah solusi siap pakai untuk tugas pemrograman yang sering terjadi. Itu bukan kelas atau perpustakaan yang dapat dihubungkan ke proyek. Itu sesuatu yang lebih. Pola desain yang cocok untuk setiap tugas diimplementasikan dalam setiap kasus tertentu. Anda harus ingat bahwa ketika diterapkan secara tidak benar atau pada tugas yang tidak sesuai, pola desain dapat menimbulkan banyak masalah. Namun, pola yang diterapkan dengan benar dapat membantu Anda menyelesaikan tugas dengan mudah dan sederhana.
Jenis pola:
- kreasional
- struktural
- perilaku
Penciptaan:
-
Singleton — membatasi pembuatan kelas ke satu instance, dan menyediakan akses ke instance tunggal itu.
-
Factory — digunakan ketika kita memiliki superclass dengan banyak subclass dan kita perlu mengembalikan subclass berdasarkan input.
-
Pabrik abstrak — menggunakan pabrik super untuk membuat pabrik, yang kemudian kita gunakan untuk membuat objek.
-
Builder — digunakan untuk membuat objek kompleks menggunakan objek sederhana. Ini secara bertahap menciptakan objek besar dari objek kecil yang sederhana.
-
Prototipe — membantu meningkatkan kinerja saat membuat objek duplikat; alih-alih membuat objek baru, ia membuat dan mengembalikan tiruan dari objek yang sudah ada.
Struktural:
-
Adaptor — konverter antara dua objek yang tidak kompatibel. Kita dapat menggunakan pola adaptor untuk menggabungkan dua antarmuka yang tidak kompatibel.
-
Komposit - menggunakan satu kelas untuk mewakili struktur pohon.
-
Proxy — menyediakan fungsionalitas kelas lain.
-
Flyweight — menggunakan kembali objek alih-alih membuat sejumlah besar objek serupa.
-
Fasad — menyediakan antarmuka sederhana untuk klien, yang menggunakan antarmuka untuk berinteraksi dengan sistem.
-
Bridge — membuat kelas tertentu independen dari kelas yang mengimplementasikan antarmuka.
-
Dekorator — menambahkan fungsionalitas baru ke objek yang sudah ada tanpa mengikat strukturnya.
Perilaku:
-
Metode template — mendefinisikan algoritme dasar dan mengizinkan turunan untuk menimpa beberapa langkah algoritme tanpa mengubah keseluruhan strukturnya.
-
Mediator — menyediakan kelas perantara yang menangani semua komunikasi antara kelas yang berbeda.
-
Rantai tanggung jawab — memungkinkan untuk menghindari ketergantungan yang ketat antara pengirim dan penerima permintaan; selain itu, permintaan dapat diproses oleh beberapa objek.
-
Pengamat - memungkinkan satu objek untuk memantau dan menanggapi peristiwa yang terjadi di objek lain.
-
Strategi — memungkinkan strategi (algoritma) diubah pada saat dijalankan.
-
Command — antarmuka yang mendeklarasikan metode untuk melakukan tindakan tertentu.
-
Status — memungkinkan suatu objek untuk mengubah perilakunya tergantung pada statusnya.
-
Pengunjung — digunakan untuk menyederhanakan operasi pada grup objek terkait.
-
Penerjemah - mendefinisikan tata bahasa untuk bahasa sederhana di domain masalah.
-
Iterator — secara berurutan mengakses elemen koleksi tanpa mengetahui bentuk dasarnya.
-
Memento — digunakan untuk menyimpan status objek; keadaan ini dapat dipulihkan nanti.
|
Lebih banyak membaca: |
|---|
GO TO FULL VERSION