Saya percaya bahwa geng empat sendiri mengklasifikasikan pola desain sebagai
solusi umum untuk masalah yang biasa terjadi *
Jadi ya, polanya relevan ketika jenis masalah yang sama terjadi. Dan ini membawa kita ke masalah dengan istilah "Pola Desain". Suatu pola adalah sesuatu yang dapat dikenali yang terjadi berulang kali. Jadi pada kenyataannya tidak ada pola desain, ada pola masalah.
Beberapa bahasa pemrograman mungkin memiliki solusi asli untuk beberapa masalah tersebut. Buku "Pola Desain" itu sendiri menyebutkan bahwa pola pengunjung bernilai kecil jika Anda menggunakan CLOS, karena multi-dispatch didukung secara native oleh CLOS, masalah yang paling penting yang coba dipecahkan oleh pola Pengunjung.
Juga, .NET framework memiliki mekanisme build in event untuk menerbitkan acara ke banyak pendengar, membuat pola Pengamat kurang relevan dalam konteks ini.
Perubahan dari aplikasi desktop ke aplikasi web ** juga mengubah jenis masalah pemrograman yang harus kita pecahkan. Banyak pola dalam buku "Pola Desain" yang relevan untuk aplikasi desktop, tetapi tidak terlalu banyak untuk aplikasi web. Tentu saja, dengan aplikasi satu halaman, pola ini mungkin relevan lagi di sisi klien.
Tetapi pola desain, dan buku-buku seperti "Pola Desain", atau "Pola Arsitektur Aplikasi Perusahaan" sangat berharga ketika Anda seorang programmer pemula dan dihadapkan dengan jenis masalah baru untuk pertama kalinya; karena saya pertama kali saya diminta untuk mengimplementasikan fungsi Undo. Kalau bukan karena buku "Pola Desain", implementasi saya mungkin akan seperti menyimpan snapshot dari data setelah setiap operasi yang berubah negara *** - sangat rawan kesalahan, dan sangat tidak efisien, pendekatan.
Jadi ya, beberapa pola menjadi kurang relevan dari waktu ke waktu, dan ketika Anda menjadi programmer yang berpengalaman, Anda kurang memikirkannya. Tetapi bagi seorang pemula, mereka berharga, selama Anda ingat bahwa mereka adalah sarana untuk memecahkan masalah - dan bukan upaya untuk menggunakan sebanyak mungkin.
* kutipan mungkin tidak 100% akurat karena diambil dari memori
** dalam pengalaman saya, semakin umum bagi perusahaan untuk memilih mekanisme pengiriman web untuk aplikasi lini bisnis internal.
*** setelah mempelajari pemrograman fungsional dan struktur data fungsional, maka itu mungkin sebenarnya cara saya akan menyelesaikannya hari ini.