Modus dasar:
1. Pola antarmuka: Ketika beberapa kelas menyediakan layanan serupa, melalui pola antarmuka, layanan umum yang disediakan oleh kelas penyedia layanan yang berbeda dapat diabstraksi dan dinyatakan sebagai antarmuka independen. Hal ini memungkinkan objek klien untuk menggunakan kelas penyedia layanan yang berbeda secara mulus tanpa perubahan apa pun.
2. Pola kelas abstrak: dapat digunakan untuk merancang kerangka kerja yang menyediakan implementasi fungsi umum yang konsisten dari sekumpulan kelas terkait. Berbeda dengan antarmuka, metode dalam antarmuka harus diimplementasikan dalam subkelas. Metode yang diperlukan dapat diimplementasikan di kelas abstrak, dan subkelas hanya perlu diwarisi, sehingga mengurangi implementasi metode yang berlebihan.
3. Pola metode privat: Beberapa metode hanya dapat digunakan secara internal oleh metode lain atau kelas internal dalam objek yang sama. Pola ini merekomendasikan perancangan metode seperti metode privat.
4. Pola pengakses: Dalam suatu objek, semua variabel instan dinyatakan pribadi, dan metode pengakses publik disediakan untuk mengakses status publik objek; pelanggan dapat mengubah suatu objek dari satu keadaan ke keadaan lain dengan menggunakan pengakses yang lain; objek memiliki akses langsung ke variabel pribadinya. JavaBean di JSP menggunakan pola ini.
5. Manajer data konstan: Sangat cocok untuk merancang mekanisme penyimpanan yang efektif untuk mengelola data konstan yang digunakan oleh berbagai objek dalam aplikasi. Pola ini menunjukkan bahwa data yang nilainya permanen dalam suatu aplikasi harus disimpan dalam objek terpisah untuk diakses oleh objek lain dalam aplikasi, daripada dibiarkan muncul di objek berbeda. Jenis pemisahan ini menyediakan repositori terpusat yang mudah dipelihara untuk data konstan dalam aplikasi Anda.
6. Objek yang tidak dapat diubah: Tetapkan semua variabel instan dalam konstruktor, dan jangan menyediakan metode lain yang dapat mengubah status objek; mendeklarasikan kelas sebagai tipe fanal untuk mencegah kemungkinan mengubah status dengan mengganti metode kelas; Semua variabel instan ditulis sebagai tipe fanal, sehingga hanya dapat ditugaskan melalui metode konstruktor; jika salah satu variabel instan berisi referensi ke suatu objek, maka metode get yang sesuai akan mengembalikan salinan objek tersebut, bukan Benar-benar yang asli. objek itu sendiri. Mekanisme di atas dapat memastikan keamanan thread dan secara otomatis menghilangkan semua masalah terkait akses bersamaan.
7. Monitor: Ia memperoleh kunci pada objek tersebut untuk memastikan bahwa hanya satu thread yang diizinkan untuk mengeksekusi metode apa pun pada objek tersebut pada satu waktu. Hal ini dapat dilakukan di Java dengan menggunakan kata kunci sinkronisasi dalam deklarasi metode objek.
Buat mode:
Peran: Menangani salah satu tugas yang paling umum dilakukan dalam aplikasi OO - membuat objek; mendukung penggunaan mekanisme terbatas yang konsisten untuk membuat objek; Generasi kopling.
1. Metode pabrik: Jika objek klien tidak mengetahui kelas mana yang akan dipakai, ia dapat menggunakan metode pabrik untuk membuat turunan dari kelas terkait dalam hierarki kelas atau grup kelas terkait. Metode pabrik dapat dirancang sebagai bagian dari klien itu sendiri, atau dapat dirancang dalam kelas individual. Diantaranya, kelas yang berisi metode pabrik atau salah satu subkelasnya menentukan kelas mana yang dipilih dan cara membuat instance-nya.
2. Singleton: Menyediakan mekanisme pembuatan objek yang dibatasi untuk memastikan bahwa hanya ada satu instance dari kelas tertentu.
3. Pabrik Abstrak: Memungkinkan pembuatan instance kelas dalam satu set kelas terkait tanpa meminta objek klien menentukan kelas konkret sebenarnya yang akan dipakai.
4. Prototype: Menyediakan cara sederhana untuk membuat objek, yaitu menyalin objek dari objek yang sudah ada.
5. Generator: Memungkinkan pembuatan objek kompleks, hanya dapat memberikan informasi jenis dan konten objek, dan membuat detail tentang pembuatan objek transparan kepada klien. Pendekatan ini memungkinkan proses konstruksi yang sama menghasilkan representasi objek yang berbeda.