Tolong jelaskan mengenai Pola desain

Pola desain atau pola rancangan (bahasa Inggris: design pattern) adalah sebuah istilah di dalam rekayasa perangkat lunak yang mengacu pada solusi umum yang bisa dipergunakan kembali atau berulang-ulang untuk menyelesaikan masalah-masalah yang umum terjadi dalam konteks tertentu atau khusus yang ditemui pada desain perangkat lunak.

Pola desain dapat dianalogikan sebagai sebuah resep makanan yang dapat digunakan untuk membuat makanan, tetapi pada kenyataannya selera orang berbeda-beda sehingga untuk menggunkan resep tersebut agar menghasilkan makanan yang enak dan sesuai harus dilakukan penyesuaian dengan kebutuhan dan keadaan. Pola yang sudah dibangun diformulasikan sedemikian rupa untuk menemukan cara terbaik memecahkan masalah, tetapi tetap saja programmer harus menerapkan pola tersebut dengan pendekatan yang sesuai dengan konteks masalah yang sedang dialami, dengan penyesuaian terhadap kebutuhan.

Ada banyak jenis pola desain. Contohnya:

Pola Strategi Algoritme, yang menangani masalah yang berkaitan dengan strategi tingkat tinggi yang menggambarkan bagaimana memanfaatkan karakteristik aplikasi pada platform komputasi.

Pola Desain Komputasi, menangani masalah yang berkaitan dengan identifikasi perhitungan kunci atau id.

Pola Eksekusi, berkaitan dengan hal-hal yang mendukung proses eksekusi aplikasi, termasuk strategi untuk melaksanakan alur tugas dan blok bangunan untuk mendukung tugas sinkronisasi.

Pola Strategi Implementasi, menangani masalah terkait dengan pelaksanaan kode untuk mendukung organisasi program dan struktur data umum khusus untuk pemrograman paralel.

Pola Desain Struktural, menangani masalah yang berkaitan dengan struktur tingkat tinggi aplikasi yang dikembangkan.