4.1.
Decorator Patterns
Maksud
dari pola ini adalah dengan menambahkan tanggung jawab tambahan secara dinamis
untuk objek. Memperluas fungsionalitas obyek bisa dilakukan secara statis (pada
saat kompilasi) dengan menggunakan warisan namun mungkin diperlukan untuk
memperluas fungsi suatu objek secara dinamis (saat runtime) sebagai objek yang
digunakan. Pola dekorator berlaku ketika ada kebutuhan untuk secara dinamis
menambahkan serta menghapus tanggung jawab ke kelas, dan ketika subclassing
tidak mungkin karena jumlah besar dari subclass yang dapat terjadi. Tujuan dari decorator pattern adalah menciptakan suatu mata rantai
objek, dimana setiap objek mempunyai
object responsible pada fungsi objek
berikutnya. Konteks dari pola ini adalah diinginkan untuk memperkaya
behaviour dari suatu class, objek komponen terdekorasi bisa digunakan sama seperti objek komponen biasa,
tanggung
jawab dari proses dekorasi tidak diinginkan
ada pada class komponen,
kemungkinan
ada proses dekorasi yang ditambahkan di masa depan yang tak bisa diperkirakan
dan harus diantisipasi.
Tujuan
Pattern ini adalah menciptakan suatu
mata rantai object, dimana setiap object mempunyai objects responsible pada
fungsi objek berikutnya.( The Decorator attaches additional responsibilities to an
object dynamically.)