Para una asignación, tengo que averiguar cuál de patrón de diseño Banda de los Cuatro de las clases java.io.Readery sus subclases java.io.PushbackReader, java.io.BufferedReadery java.io.FilterReaderfueron construidas con.
Según esta publicación, el patrón de diseño sería el Patrón Decorador. Esto solo tiene sentido para mí si PushbackReader, BufferedReadery FilterReaderpuede ser decorado para ser usado al mismo tiempo, creando efectivamente a BufferedPushbackFilterReader. ¿Esa es la idea?
java
design-patterns
Comunidad
fuente
fuente

Bufferednaturaleza sobre laFilternaturaleza?Respuestas:
Sí, puedes decorarlos así. Solo considera lo siguiente
Eso decoraría un lector original para
FilterReaderyReaderson clases base en la jerarquía ...fuente
BufferedReader,FilterReaderyPushbackReaderson decoradores deReader, ¿verdad?El patrón decorador se aplica aquí porque
BufferedReaderenvuelve unReader- sigue siendo unReader(tiene todos los métodos deReader), pero tiene más "campanas y silbatos" (más métodos).Aquí hay un ejemplo que muestra cómo una clase "decora" la funcionalidad de la que envuelve, y puede encadenarlas para seguir decorando:
fuente