Patron de diseño Decorator
![]() |
![]() |
![]() |
Título del Test:![]() Patron de diseño Decorator Descripción: Grupo 5 |




Comentarios |
---|
NO HAY REGISTROS |
¿Qué tipo de patrón es el Decorator?. Estructural. Creacional. De comportamiento. De arquitectura. ¿Qué problema principal resuelve el patrón Decorator?. Extender funcionalidad de objetos sin modificar su estructura base. Optimizar el rendimiento de las clases heredadas. Reducir el acoplamiento entre clases abstractas. Evitar el uso de interfaces en el diseño de software. Según el principio de responsabilidad única, ¿por qué es útil el Decorator?. Divide funcionalidades en clases pequeñas, cada una con una única tarea. Combina todas las responsabilidades en una sola clase para simplificar. Elimina la necesidad de usar herencia en todos los casos. Reduce la cantidad de objetos instanciados en memoria. ¿Qué define la "Interfaz del Componente" en el patrón Decorator?. Las operaciones comunes que pueden realizar tanto componentes como decoradores. La implementación concreta de los métodos de los decoradores. La estructura jerárquica de herencia entre decoradores. Los parámetros de inicialización de los objetos decorados. ¿Qué es un "Componente Concreto" en este patrón?. Una interfaz opcional para configurar decoradores. La clase abstracta que define los métodos para los decoradores. El decorador que añade funcionalidad extra al objeto. La clase base que implementa la interfaz y puede ser decorada. ¿Cuál es la función del "Decorador Base"?. Implementar todas las funcionalidades adicionales posibles. Mantener una referencia al componente y actuar como base para decoradores concretos. Reemplazar por completo al componente que decora. Definir reglas de herencia múltiple para los decoradores. ¿Cómo añaden comportamiento los "Decoradores Concretos"?. Modificando directamente el código del componente original. Envuelven un componente y añaden funcionalidad antes o después de delegar la llamada. Heredando múltiples veces de la clase base. Eliminando métodos del componente que decoran. ¿En qué caso sería ideal usar el patrón Decorator?. Cuando se busca reducir la cantidad de clases en un sistema. Cuando se requiere una única instancia global de un objeto. Cuando se necesitan añadir funcionalidades dinámicas y combinables a objetos. Cuando todas las variantes de un objeto pueden definirse en tiempo de compilación. ¿Qué ventaja tiene poder "apilar" decoradores?. Hace que el código sea más rígido y menos extensible. Evita el uso de interfaces en el diseño. Permite combinar múltiples funcionalidades de forma flexible y modular. Reduce el tiempo de ejecución al evitar llamadas anidadas. ¿Qué diferencia al Decorator de la herencia tradicional?. El Decorator no permite la reutilización de código. Permite añadir comportamientos en tiempo de ejecución sin crear subclases rígidas. La herencia es más flexible para añadir funcionalidades dinámicas. El Decorator solo funciona con clases abstractas. |