mode perintah adalah pola desain perilaku yang mengubah permintaan menjadi objek terpisah yang berisi semua informasi terkait permintaan tersebut. Transformasi ini memungkinkan Anda membuat parameter metode berdasarkan permintaan yang berbeda, permintaan penundaan atau antrian, dan mengimplementasikan operasi yang dapat dibatalkan.
Struktur mode perintah
pengirim (Pengirim) - juga dikenal sebagai "Invoker" - kelas bertanggung jawab untuk menginisialisasi permintaan, yang harus berisi variabel anggota untuk menyimpan referensi ke objek perintah. Pengirim memicu perintah tanpa mengirimkan permintaan langsung ke penerima. Perhatikan bahwa pengirim tidak bertanggung jawab untuk membuat objek perintah: biasanya pengirim memperoleh perintah yang telah dibuat sebelumnya dari klien melalui konstruktor.
MemesanAntarmuka (Perintah) biasanya hanya mendeklarasikan metode untuk menjalankan perintah.
Perintah khusus (Perintah Beton) akan mengimplementasikan berbagai jenis permintaan. Perintah spesifik itu sendiri tidak menyelesaikan pekerjaan, namun mendelegasikan panggilan ke objek logika bisnis. Namun untuk menyederhanakan kode, kelas-kelas ini dapat digabungkan. Parameter yang diperlukan untuk menerima metode eksekusi objek dapat dideklarasikan sebagai variabel anggota dari perintah tertentu. Anda dapat membuat objek perintah tidak dapat diubah dan hanya mengizinkan inisialisasi variabel anggota ini melalui konstruktor.
penerima Kelas (Penerima) berisi bagian dari logika bisnis. Hampir semua benda dapat berfungsi sebagai penerima. Sebagian besar perintah hanya menangani detail cara meneruskan permintaan ke penerima, dan penerima akan melakukan sendiri pekerjaannya.
klien (Klien) akan membuat dan mengkonfigurasi objek perintah tertentu. Klien harus meneruskan semua parameter permintaan, termasuk entitas penerima, ke konstruktor perintah. Setelah itu, perintah yang dihasilkan dapat dikaitkan dengan satu atau lebih pengirim.