Pola desain
Pola Desain Kreasi
Singleton - Pastikan hanya satu instance kelas yang dibuat dan Berikan titik akses global ke objek.
Factory (versi Sederhana dari Metode Pabrik) - Membuat objek tanpa memaparkan logika instantiation kepada klien dan Merujuk ke objek yang baru dibuat melalui antarmuka umum.
Metode Pabrik - Menentukan antarmuka untuk membuat objek, tetapi biarkan subclass untuk memutuskan kelas mana yang akan dipakai dan merujuk ke objek yang baru dibuat melalui antarmuka umum.
Abstrak Pabrik - Menawarkan antarmuka untuk membuat keluarga objek terkait, tanpa secara eksplisit menentukan kelas mereka.
Builder - Menentukan instance untuk membuat objek tetapi membiarkan subclass memutuskan kelas mana yang akan dipakai dan Memungkinkan kontrol yang lebih baik atas proses konstruksi.
Prototipe - Menentukan jenis objek yang akan dibuat menggunakan instance prototypical, dan membuat objek baru dengan menyalin prototipe ini.
Pola Desain Perilaku
Chain of Responsibiliy - Ini menghindari melampirkan pengirim permintaan ke penerima, dengan cara ini memberikan objek lain kemungkinan menangani permintaan juga. - Objek menjadi bagian dari rantai dan permintaan dikirim dari satu objek ke yang lain di seluruh rantai sampai salah satu objek akan menanganinya.
Command - Meringkas permintaan dalam suatu objek, Memungkinkan parameterisasi klien dengan permintaan yang berbeda dan Memungkinkan menyimpan permintaan dalam antrian.
Penerjemah - Diberi bahasa, mendefinisikan representasi untuk tata bahasanya bersama dengan juru bahasa yang menggunakan representasi untuk mengartikan kalimat dalam bahasa / Peta domain ke bahasa, bahasa ke tata bahasa, dan tata bahasa ke desain berorientasi objek hirarkis
Iterator - Menyediakan cara untuk mengakses elemen objek agregat secara berurutan tanpa mengekspos representasi yang mendasarinya.
Mediator - Menentukan objek yang merangkum bagaimana satu set objek berinteraksi. Mediator mempromosikan kopling longgar dengan menjaga benda agar tidak saling merujuk secara eksplisit, dan memungkinkan Anda memvariasikan interaksi mereka secara independen.
Pengamat - Menentukan ketergantungan satu-ke-banyak antara objek sehingga ketika satu objek berubah status, semua tanggungannya diberitahukan dan diperbarui secara otomatis.
Strategi - Tetapkan keluarga algoritma, enkapsulasi masing-masing, dan buat mereka dapat dipertukarkan. Strategi memungkinkan algoritma bervariasi secara independen dari klien yang menggunakannya.
Metode Templat - Menentukan kerangka algoritma dalam operasi, menunda beberapa langkah untuk subkelas / Metode Templat memungkinkan subkelas mendefinisikan ulang langkah-langkah tertentu dari suatu algoritma tanpa membiarkan mereka mengubah struktur algoritma.
Pengunjung - Merupakan operasi yang dilakukan pada elemen-elemen struktur objek / Pengunjung memungkinkan Anda menentukan operasi baru tanpa mengubah kelas elemen yang dioperasikannya.
Objek Null - Menyediakan objek sebagai pengganti karena tidak adanya objek dari jenis tertentu. / The Null Object Pattern memberikan perilaku cerdas melakukan apa-apa, menyembunyikan detail dari kolaboratornya.
Pola Desain Struktural
Adaptor - Konversi antarmuka kelas menjadi antarmuka lain yang diharapkan klien. / Adaptor memungkinkan kelas bekerja bersama, yang tidak dapat dilakukan karena antarmuka yang tidak kompatibel.
Bridge - Menyusun objek menjadi struktur pohon untuk mewakili hierarki bagian-keseluruhan. / Composite memungkinkan klien memperlakukan objek individu dan komposisi objek secara seragam.
Komposit - Menyusun objek ke dalam struktur pohon untuk mewakili hierarki bagian-keseluruhan. / Composite memungkinkan klien memperlakukan objek individu dan komposisi objek secara seragam.
Penghias - menambahkan tanggung jawab tambahan secara dinamis ke objek.
Flyweight - penggunaan berbagi untuk mendukung sejumlah besar objek yang memiliki bagian dari keadaan internal mereka yang sama di mana bagian lain dari negara dapat bervariasi.
Memento - menangkap keadaan internal suatu objek tanpa melanggar enkapsulasi dan dengan demikian menyediakan cara untuk mengembalikan objek ke keadaan awal saat dibutuhkan.
Proxy - memberikan "Placeholder" untuk objek untuk mengontrol referensi padanya.