Untuk tugas, saya harus mencari tahu dari pola desain Geng Empat mana kelas java.io.Reader
dan subclassnya java.io.PushbackReader
, java.io.BufferedReader
dan java.io.FilterReader
dibangun bersama.
Menurut posting ini , pola desain akan menjadi Pola Penghias. Ini hanya masuk akal bagi saya jika PushbackReader
, BufferedReader
dan FilterReader
dapat didekorasi untuk digunakan secara bersamaan, menciptakan secara efektif a BufferedPushbackFilterReader
. Apakah itu idenya?
java
design-patterns
Komunitas
sumber
sumber
Buffered
sifat di atasFilter
sifat?Jawaban:
Ya, Anda memang bisa mendekorasi mereka seperti itu. Perhatikan saja yang berikut ini
Itu akan menghiasi pembaca asli
FilterReader
danReader
kelas dasar dalam hierarki ...sumber
BufferedReader
,FilterReader
danPushbackReader
apakah dekoratorReader
, kan?The pola dekorator berlaku di sini karena
BufferedReader
membungkus sebuahReader
- itu masihReader
(memiliki semua metodeReader
), tetapi memiliki lebih "lonceng dan peluit" (lebih metode).Berikut adalah contoh yang menunjukkan bagaimana satu kelas "menghiasi" fungsi yang dibungkusnya, dan Anda dapat mengikatnya untuk tetap menghias:
sumber