Saya telah membangun aplikasi web dengan GUI yang cukup kompleks - banyak elemen kecil di samping satu sama lain dan dalam elemen lain yang memerlukan berbagai perilaku (menyeret, mengklik, tetapi peka konteks).
Kode saya cenderung berfungsi seperti ini:
kontrol dimulai sebagai tag html
<li>
kemudian saya menambahkan kelas ke tag
<li class = 'static passive included'>
beberapa kelas mungkin untuk styling css untuk mempengaruhi penampilan
.static {background: blue; float: left;}
sementara yang lain ditindaklanjuti oleh jQuery untuk memberikan perilaku untuk peristiwa DOM terkait
$("#container").delegate(".passive", function {onclick : //do-stuff})
dan yang lainnya mungkin diambil oleh javascript normal saat memindai dokumen, mis. mengumpulkan nilai teks semua node dengan kelas 'termasuk'. Jadi elemen DOM tertentu adalah objek GUI yang mengimplementasikan kelas definted melalui kombinasi css dan jQuery.
Pertanyaan saya adalah, apakah ini cara yang baik untuk bekerja? Dan juga apakah ini benar-benar 'dekorator' - mereka tentu saja 'menambah tanggung jawab tambahan pada suatu objek secara dinamis' tetapi saya tidak yakin tentang istilah itu. Akhirnya, apakah Anda menggunakan pola ini di situs Anda sendiri?