Patrones de diseño creacional y método de fábrica

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

¿Cuál es el enfoque principal de los patrones de diseño creacional?

  • Manejar la comunicación entre clases.
  • Centralizarse en el proceso de creación de objetos. (correct)
  • Definir las interacciones entre objetos.
  • Optimizar el rendimiento del sistema.

¿Qué ventaja ofrece el patrón de diseño Factory Method en la creación de objetos?

  • Permite crear instancias de una clase sin exponer la lógica de instanciación al cliente.
  • Garantiza que solo exista una instancia de una clase.
  • Define una interfaz para crear objetos, pero deja que las subclases decidan qué clase instanciar. (correct)
  • Proporciona una forma de crear familias de objetos relacionados sin especificar sus clases concretas.

¿Cuál de las siguientes NO es una ventaja del patrón de diseño Factory Method?

  • Permite agregar nuevos tipos de productos fácilmente.
  • Aumenta la complejidad del código debido a la creación de subclases. (correct)
  • Separa la lógica de creación del código del cliente.
  • Centraliza la lógica de creación de objetos.

¿En qué escenario es más apropiado utilizar el patrón de diseño Singleton?

<p>Cuando es crucial controlar el acceso a un recurso compartido, asegurando que solo haya una instancia. (B)</p> Signup and view all the answers

Un principio clave del patrón Singleton es:

<p>Proporcionar un único punto de acceso global a una instancia. (A)</p> Signup and view all the answers

¿Cuál es una característica del constructor en el patrón Singleton?

<p>Normalmente es privado para restringir la creación directa de instancias. (D)</p> Signup and view all the answers

¿Cuál es el propósito principal del patrón de diseño Prototipo?

<p>Crear nuevos objetos copiando un objeto existente. (C)</p> Signup and view all the answers

¿Qué componente del patrón Prototipo contiene el estado que se copia a los nuevos objetos?

<p>El objeto existente (prototipo). (A)</p> Signup and view all the answers

¿En qué situación sería más ventajoso utilizar el patrón Prototipo en lugar de crear objetos directamente?

<p>Cuando la creación de objetos es costosa en términos de recursos o tiempo. (A)</p> Signup and view all the answers

¿Cuál es la principal función del patrón de diseño Builder?

<p>Construir un objeto complejo paso a paso. (A)</p> Signup and view all the answers

¿Qué componente del patrón Builder dirige el proceso de construcción del objeto?

<p>El Director. (C)</p> Signup and view all the answers

¿Qué rol desempeña la interfaz Builder en el patrón de diseño del mismo nombre?

<p>Define los pasos necesarios para construir el producto. (B)</p> Signup and view all the answers

¿Cuál es el objetivo principal de los patrones de diseño estructurales?

<p>Resolver problemas relacionados con la composición de clases y objetos para formar estructuras más grandes. (B)</p> Signup and view all the answers

¿Qué problema resuelve el patrón de diseño Adaptador?

<p>Permite que clases con interfaces incompatibles trabajen juntas. (D)</p> Signup and view all the answers

¿Qué componente traduce las solicitudes del cliente al formato que el adaptado puede entender?

<p>El adaptador. (D)</p> Signup and view all the answers

¿Cuál es la diferencia entre un adaptador de clase y un adaptador de objetos?

<p>El adaptador de clase utiliza herencia, mientras que el adaptador de objetos utiliza composición. (D)</p> Signup and view all the answers

¿Qué permite el patrón de diseño Bridge?

<p>Separar la abstracción de la implementación. (B)</p> Signup and view all the answers

¿Cuáles son los dos elementos principales en el patrón Bridge?

<p>Abstracción e Implementación. (C)</p> Signup and view all the answers

En el patrón Bridge, ¿cómo se relacionan la abstracción y el implementador?

<p>La abstracción contiene una referencia al implementador. (B)</p> Signup and view all the answers

¿Cuál es el propósito del patrón de diseño Composite?

<p>Componer objetos en estructuras de árbol para representar jerarquías parte-todo. (D)</p> Signup and view all the answers

¿Qué componente del patrón Composite representa tanto objetos individuales como composiciones de objetos?

<p>El Componente. (A)</p> Signup and view all the answers

¿Cuál es el comportamiento de un 'Compuesto' en el patrón Composite cuando recibe una operación?

<p>Delega la operación a sus componentes secundarios. (A)</p> Signup and view all the answers

¿Cuál es el propósito principal del patrón de diseño Decorador?

<p>Agregar comportamiento a objetos individuales dinámicamente. (B)</p> Signup and view all the answers

¿Qué principio de diseño se sigue al utilizar el patrón Decorador?

<p>Principio de abierto/cerrado. (C)</p> Signup and view all the answers

¿Cuál es la función del 'Componente Concreto' en el patrón Decorador?

<p>Implementa la interfaz del componente y representa el objeto al que se le añadirán responsabilidades. (C)</p> Signup and view all the answers

¿Cuál es el objetivo principal del patrón de diseño Fachada?

<p>Proporcionar una interfaz unificada para un conjunto de interfaces en un subsistema. (D)</p> Signup and view all the answers

En el patrón Fachada, ¿cómo interactúan los clientes con el subsistema?

<p>Interactúan a través de la interfaz simplificada proporcionada por la fachada. (B)</p> Signup and view all the answers

¿Qué ventaja ofrece el patrón Fachada en términos de acoplamiento?

<p>Reduce el acoplamiento entre el cliente y el subsistema. (D)</p> Signup and view all the answers

¿Cuál es el objetivo principal del patrón de diseño Flyweight?

<p>Reducir el uso de memoria compartiendo estados comunes entre objetos. (D)</p> Signup and view all the answers

En el patrón Flyweight, ¿cuál es la diferencia entre el estado intrínseco y el estado extrínseco?

<p>El estado intrínseco es compartido entre objetos, mientras que el extrínseco es único para cada objeto. (D)</p> Signup and view all the answers

¿Qué rol desempeña la Fábrica de Flyweight?

<p>Crear y gestionar instancias de objetos Flyweight, compartiendo objetos siempre que sea posible. (D)</p> Signup and view all the answers

¿Cuál es el propósito principal del patrón Proxy?

<p>Controlar el acceso a otro objeto. (C)</p> Signup and view all the answers

¿Cómo se comunica el cliente con el objeto real en el patrón Proxy?

<p>A través del Proxy. (C)</p> Signup and view all the answers

¿Qué beneficios puede ofrecer el patrón Proxy además de controlar el acceso?

<p>Carga diferida, registro, caché y seguridad. (C)</p> Signup and view all the answers

¿Cuál es el enfoque principal de los patrones de diseño de comportamiento?

<p>Definir algoritmos y la asignación de responsabilidades entre objetos. (B)</p> Signup and view all the answers

El patrón Chain of Responsibility ayuda a lograr un acoplamiento flexible. ¿Cómo lo hace?

<p>Pasando la solicitud a una cadena de objetos, donde cada objeto decide si la procesa o la pasa al siguiente. (C)</p> Signup and view all the answers

¿Qué permite el patrón Command?

<p>Desacoplar un objeto que realiza una acción de otro que sabe cómo realizarla. (C)</p> Signup and view all the answers

¿Cuál es la principal función del patrón de diseño del intérprete?

<p>Definir una representación gramatical para un lenguaje y proporcionar un intérprete para esa gramática. (D)</p> Signup and view all the answers

¿Qué problema aborda el patrón Mediator?

<p>La complejidad de las interacciones entre objetos, promoviendo un acoplamiento flojo. (B)</p> Signup and view all the answers

Flashcards

¿Qué son los patrones de diseño creacional?

Patrones centrados en la creación de objetos, independientemente de su creación, composición y representación.

¿Qué es el patrón de diseño Factory Method?

Un patrón creacional que proporciona una interfaz para crear objetos en una superclase, permitiendo a subclases alterar el tipo de objetos.

¿Ventajas del método Factory?

Aísla la lógica de creación del código, mejora la flexibilidad y permite agregar nuevos productos fácilmente.

¿Desventajas del método Factory?

Clases e interfaces adicionales, impactos en rendimiento debido al polimorfismo, conocimiento de subclases.

Signup and view all the flashcards

¿Qué es el patrón Singleton?

Patrón que asegura que una clase tenga solo una instancia, proporcionando un punto de acceso global a ella.

Signup and view all the flashcards

¿Principios del patrón Singleton?

Singleton garantiza una sola instancia, acceso global, inicialización diferida o diligente y seguridad en subprocesos.

Signup and view all the flashcards

¿Cuándo usar Singleton?

Cuando se necesita asegurar una única instancia y proveer acceso global en una aplicación.

Signup and view all the flashcards

¿Usos comunes de Singleton?

Situaciones como registro, administración de conexiones y control de subprocesos.

Signup and view all the flashcards

¿Qué es el patrón Prototipo?

Patrón que permite crear nuevos objetos copiando un objeto existente.

Signup and view all the flashcards

¿Cuándo usar el patrón Prototipo?

Cuando la creación de objetos es costosa y requiere mucho tiempo, clonando objetos existentes.

Signup and view all the flashcards

¿Componentes del patrón Prototipo?

Interfaz o clase abstracta, prototipos concretos y método de clonación especificado.

Signup and view all the flashcards

¿Qué es el patrón Constructor (Builder)?

Patrón que construye paso a paso objetos complejos, permitiendo variar la construcción según el tipo.

Signup and view all the flashcards

¿Qué es el Producto?

El objeto complejo que el patrón Constructor es responsable de construir.

Signup and view all the flashcards

¿Qué es el Constructor (Builder)?

Interfaz o abstracta que declara los pasos para construir un objeto complejo.

Signup and view all the flashcards

¿Qué es Constructor de Hormigón?

Clases que implementan la interfaz Builder, proporcionando implementaciones específicas para cada parte del producto.

Signup and view all the flashcards

¿Qué es el Director?

Responsable de gestionar el proceso de construcción del objeto complejo.

Signup and view all the flashcards

¿Qué es el Cliente?

Código que inicia la construcción, crea el Builder, y recupera el producto final.

Signup and view all the flashcards

¿Pasos para implementar el patrón Constructor?

Define el objeto, crea la clase Builder, métodos de compilación, utiliza el Director (opcional), y el cliente utiliza el constructor.

Signup and view all the flashcards

¿Patrones de diseño estructural?

Patrones que resuelven problemas relacionados con la forma en que las clases y objetos se organizan para formar estructuras.

Signup and view all the flashcards

¿Qué es el patrón Adaptador?

Permite el uso de la interfaz de una clase existente como interfaz adicional, actuando como puente interoperabilidad.

Signup and view all the flashcards

¿Qué es el patrón de diseño del Adaptador?

Permite que interfaces o sistemas incompatibles cooperen como puente entre dos clases que no podrían comunicarse.

Signup and view all the flashcards

¿Componentes del patrón Adaptador?

Interfaz de destino, adaptado, adaptador y cliente, que permite una flexibilidad en el proceso.

Signup and view all the flashcards

¿Implementaciones del patrón Adaptador?

Adaptador de clase, de objetos, bidireccional y de interfaz, que permite muchas posibilidades.

Signup and view all the flashcards

¿Ejemplo del Adaptador?

Considere un sistema existente con un método 'printDocument()' adaptado a una interfaz 'print()'.

Signup and view all the flashcards

¿Qué es el patrón Bridge?

Separa la abstracción de la implementación, proporcionando abstracción e implementación independientes.

Signup and view all the flashcards

¿Partes del patrón Bridge?

Abstracción (interfaz) e Implementación (clase concreta), actuando como un puente funcional.

Signup and view all the flashcards

¿Ventajas del patrón Bridge?

Aumenta el acoplamiento flexible entre la abstracción de clases y su implementación.

Signup and view all the flashcards

¿Qué es el patrón Composite?

Permite componer objetos en estructuras de árbol para representar jerarquías parte-todo con manejo uniforme.

Signup and view all the flashcards

¿Componentes del patrón Composite?

Componente, Hoja y Compuesto, lo que permite la creación de sistemas funcionales.

Signup and view all the flashcards

¿Ejemplo del patrón Composite?

Gestionar tareas simples o colecciones (subtareas) en la gestión de proyectos.

Signup and view all the flashcards

¿Qué es el patrón Decorador?

Permite agregar dinámicamente comportamiento a objetos individuales sin afectar otros.

Signup and view all the flashcards

¿Características del patrón Decorador?

Promueve la flexibilidad, extensibilidad, principio abierto/cerrado, para una mejor experiencia.

Signup and view all the flashcards

¿Ejemplo del patrón Decorador?

Agregar características opcionales (leche, azúcar, crema) a pedidos de café de forma dinámica.

Signup and view all the flashcards

¿Qué es el patrón Fachada?

Proporciona una interfaz unificada para un conjunto de interfaces de un subsistema, simplificando su uso.

Signup and view all the flashcards

¿Cuándo usar el patrón Fachada?

Estructurar sistemas en subsistemas, minimizar comunicación y tener una única interfaz simplificada.

Signup and view all the flashcards

¿Ejemplo del patrón Fachada?

El clase del compilador actúa como fachada, ofreciendo una interfaz única y sencilla.

Signup and view all the flashcards

El patrón de diseño Flyweight

Signup and view all the flashcards

Patrón de diseño de proxy

permite a los clientes controlar el acceso a los objetos originales, sin entrar directamente en contacto, mientras que un objeto proxy actúa como interfaz.

Signup and view all the flashcards

Study Notes

Patrones de diseño creacional

  • Los patrones se centran en la creación de objetos y en problemas relacionados con esta.
  • Ayudan a que un sistema sea independiente de cómo se crean, componen y representan sus objetos.
  • Los tipos de patrones de diseño creacional son:
  • Singleton
  • Factory Method
  • Abstract Factory
  • Builder
  • Prototype

Patrón de diseño del método de fábrica

  • Es un patrón de diseño creacional que proporciona una interfaz para crear objetos en una superclase.
  • Permite a las subclases alterar el tipo de objetos que se crearán.
  • Es útil cuando los tipos exactos de objetos que se crearán pueden variar o deben determinarse en tiempo de ejecución.
  • Permite flexibilidad y extensibilidad en la creación de objetos.

Ventajas del método de fábrica

  • Separa la lógica de creación del código del cliente, mejorando la flexibilidad.
  • Se pueden agregar nuevos tipos de productos fácilmente.
  • Simplifica las pruebas unitarias al permitir la creación de productos simulados.
  • Centraliza la lógica de creación de objetos en toda la aplicación.
  • Oculta clases de productos específicas a los clientes, lo que reduce la dependencia.

Desventajas del método de fábrica

  • Agrega más clases e interfaces, lo que puede complicar el mantenimiento.
  • Ligeros impactos en el rendimiento debido al polimorfismo.
  • Los creadores concretos están vinculados a sus productos.
  • Los clientes necesitan conocimiento de subclases específicas.
  • Puede generar una complejidad innecesaria si se aplica de manera demasiado amplia.
  • La lógica de fábrica puede ser más difícil de probar.

Patrón de diseño del método Singleton

  • Garantiza que una clase tenga solo una instancia.
  • Proporciona un punto de acceso global a ella.
  • Es ideal para escenarios que requieren un control centralizado, como la administración de conexiones de bases de datos o ajustes de configuración.

Principios del patrón de diseño Singleton

  • Instancia única: garantiza que solo exista una instancia de la clase en toda la aplicación.
  • Acceso global: proporciona un punto de acceso global a esa instancia.
  • Inicialización diferida o diligente: admite la creación de la instancia cuando sea necesario (diferido) o cuando la clase esté cargada (diligente).
  • Seguridad de subprocesos: implementa mecanismos para evitar que varios subprocesos creen instancias separadas simultáneamente.
  • Constructor privado: restringe la creación de instancias directas haciendo que el constructor sea privado, forzando el uso del punto de acceso.

¿Cuándo usar el patrón de diseño del método Singleton?

  • Cuando necesite asegurarse de que solo existe una instancia de una clase en la aplicación.
  • Cuando desee proporcionar una forma sencilla para que los clientes accedan a esa instancia desde una ubicación específica en el código.
  • Si cree que podría querer ampliar la clase más adelante, es una buena opción; permite la creación de subclases para que los clientes trabajen con la versión extendida sin cambiar el Singleton original.
  • Es útil en situaciones como el registro, la administración de conexiones a hardware o bases de datos, el almacenamiento en caché de datos o el control de grupos de subprocesos, donde tener una sola instancia tiene sentido.

Patrón de diseño de prototipos

  • Permite la creación de nuevos objetos copiando un objeto existente.
  • Permite ocultar al cliente la complejidad de hacer nuevas instancias.
  • El objeto existente actúa como un prototipo y contiene el estado del objeto.
  • Es útil cuando la creación de objetos es una operación costosa y que requiere mucho tiempo.

Componentes del patrón de diseño de prototipos

  • Interfaz de prototipo o clase abstracta
  • Prototipos concretos
  • Código de cliente
  • Método que especifica el comportamiento de clonación

Patrón de diseño del constructor

  • Se utiliza en el diseño de software para construir un objeto complejo paso a paso.
  • Permite la construcción de un producto paso a paso, donde el proceso de construcción puede cambiar en función del tipo de producto que se está construyendo.

Patrones de diseño estructural

  • Resuelven problemas relacionados con la forma en que las clases y los objetos se componen/ensamblan para formar estructuras más grandes que son eficientes y flexibles por naturaleza.
  • Los patrones de clases estructurales utilizan la herencia para componer interfaces o implementaciones.
  • Existen:
    • Adapter Pattern
    • Bridge Pattern
    • Composite Pattern
    • Decorator Pattern
    • Facade Pattern
    • Flyweight Pattern
    • Proxy Pattern

Patrón de diseño del adaptador

  • Un patrón de diseño estructural que permite el uso de la interfaz de una clase existente como interfaz adicional.
  • Sirve como puente para hacer que dos interfaces incompatibles funcionen juntas.

¿Qué es el patrón de diseño del adaptador?

  • Permite que dos interfaces o sistemas incompatibles cooperen mediante un puente entre dos clases que de otro modo no podrían comunicarse.
  • El enfoque es útil cuando se intenta incorporar bibliotecas de terceros o código heredado en un nuevo sistema.

Componentes del patrón de diseño del adaptador

  • Interfaz de destino: Define la interfaz esperada por el cliente y representa el conjunto de operaciones que puede utilizar.
  • Adaptado: La clase o sistema existente con una interfaz incompatible que debe integrarse en el nuevo sistema.
  • Adaptador: Una clase que implementa la interfaz de destino y utiliza internamente una instancia del adaptado para hacerla compatible con la interfaz de destino.
  • Cliente: El código que utiliza la interfaz de destino para interactuar con los objetos y permanece sin conocer los detalles de implementación específicos tanto del adaptado como del adaptador.

Diferentes implementaciones del patrón de diseño del adaptador

  • Adaptador de clase (heredado basado en ce)
  • Adaptador de objetos (basado en composición)
  • Adaptador bidireccional
  • Adaptador de interfaz (adaptador predeterminado)

¿Cómo funciona el patrón de diseño del adaptador?

  1. El cliente inicia una solicitud llamando a un método en el adaptador a través de la interfaz de destino.
  2. El adaptador asigna o transforma la solicitud del cliente a un formato que el adaptado pueda entender mediante la interfaz del adaptado.
  3. El adaptado realiza el trabajo real en función de la solicitud traducida del adaptador.
  4. El cliente recibe los resultados de la llamada, sin darse cuenta de la presencia del adaptador ni de los detalles específicos del adaptado.

Patrón de diseño de puentes

  • Permite separar la abstracción de la implementación y es un patrón de diseño estructural.
  • Contiene abstracción e implementación.
  • Encapsula una clase de implementación dentro de una clase de interfaz y permite que la abstracción y la implementación se desarrollen de forma independiente.
  • Permite que el cliente solo acceda a la parte de abstracción sin preocuparse por la parte de implementación.

Patrón de diseño compuesto en Java

  • Un patrón de diseño estructural que permite componer objetos en estructuras arbóreas para representar jerarquías parte-todo.
  • Permite a los clientes tratar objetos individuales y composiciones de objetos de manera uniforme.
  • Un sólo objeto puede ser manipulado de la misma manera sería manipular un grupo de ellos

Componentes del patrón de diseño compuesto

  • Componente: Declara la interfaz para los objetos de la composición y para acceder a sus componentes secundarios y gestionarlos.
  • Hoja: Define el comportamiento de los objetos primitivos de la composición.
  • Compuesto: Almacena componentes secundarios e implementa operaciones relacionadas con los secundarios en la interfaz de componentes

Patrón de diseño de decorador

  • Un patrón de diseño estructural que permite agregar comportamiento a objetos individuales de forma dinámica, sin afectar el comportamiento de otros objetos de la misma clase.
  • Este patrón es útil cuando se necesita añadir funcionalidad a los objetos de forma flexible y reutilizable.

Características del patrón Decorator

  • Promueve la flexibilidad y la extensibilidad en los sistemas de software al permitir a los desarrolladores componer objetos con diferentes combinaciones de funcionalidades en tiempo de ejecución.
  • Sigue el principio de abierto/cerrado, ya que se pueden agregar nuevos decoradores sin modificar el código existente.
  • Se usa normalmente en escenarios en los que es necesario agregar una variedad de características o comportamientos opcionales a los objetos de una manera flexible y reutilizable.

Casos de uso del patrón Decorator

  • Ampliación de la funcionalidad: Cuando se tiene un componente base con funcionalidad básica, pero se necesita añadirle características o comportamientos adicionales de forma dinámica sin alterar su estructura.
  • Múltiples combinaciones de características: Cuando desea proporcionar varias combinaciones de características u opciones a un objeto.

Componentes clave del patrón de diseño del decorador

  • Interfaz de componentes: Interfaz abstracta que define la interfaz común tanto para los componentes concretos como para los decoradores.
  • Componente concreto: Los objetos o clases básicas que implementan la interfaz del componente.
  • Decorador: Una clase abstracta que también implementa la interfaz Component y tiene una referencia a un objeto Component.
  • Decorador de hormigón: Las clases de hormigón que amplían la clase Decorador y añaden comportamientos o responsabilidades específicas al componente.

Patrón de diseño del método de fachada

  • Proporciona una interfaz unificada para un conjunto de interfaces en un subsistema.
  • Facade define una interfaz de alto nivel que hace que el subsistema sea más fácil de usar.
  • Ayuda a reducir la complejidad estructurando un sistema en subsistemas y minimizando la comunicación y las dependencias entre ellos.

Cuándo usar el patrón de diseño del método de fachada

  • Cuando se tiene una vista predeterminada simple del subsistema que es lo suficientemente buena para la mayoría de los clientes. Hay muchas dependencias entre los clientes y las clases de implementación de una abstracción.
  • Cuando se usa para desacoplar el subsistema de los clientes y otros subsistemas, promoviendo así la independencia y portabilidad del subsistema.

Componentes clave del patrón de diseño del método de fachada

  • Fachada (compilador): Sabe qué clases de subsistema son responsables de una solicitud.
  • Clases de subsistema (Scanner, Parser, ProgramNode, etc.): Implementa la funcionalidad del subsistema y se encarga del trabajo asignado por el objeto Fachada.
  • Interfaz: El conjunto de métodos simplificados que la fachada expone al cliente.

Patrón de diseño de peso mosca

  • Un patrón estructural que optimiza el uso de la memoria compartiendo un estado común entre varios objetos.
  • El objetivo es reducir el número de objetos creados y disminuir la huella de memoria, lo que es particularmente útil cuando se trata de un gran número de objetos similares
  • Ayuda a ahorrar memoria en aplicaciones que crean un gran número de objetos similares.

Componentes del patrón de diseño de peso mosca

  • Interfaz/Clase de Peso Mosca: Define la interfaz a través de la cual los objetos flyweight pueden recibir y actuar en estado extrínseco.
  • Clases de peso mosca de hormigón: Implementa la interfaz Flyweight y representa los objetos que se pueden compartir.
  • Fábrica de peso mosca: Administra un grupo de objetos de peso mosca, proporciona métodos para que los clientes recuperen o creen objetos flyweight, y garantiza que los objetos flyweight se compartan adecuadamente para maximizar la reutilización.

¿Cómo implementar el patrón de diseño de peso mosca?

  1. Identifique los datos compartidos y únicos: Determine qué información es específica de cada objeto (datos extrínsecos) y cuál se puede compartir entre objetos (datos intrínsecos).
  2. Cree una clase Flyweight: Guardará los datos intrínsecos (compartidos).
  3. Construya una fábrica Flyweight: Gestionará las instancias de los objetos Flyweight.
  4. Pase datos únicos según sea necesario: Los datos extrínsecos deben pasarse como parámetro cuando se usa un objeto.
  5. Use pesos mosca en lugar de crear nuevos objetos: Solicítelos siempre a través de la fábrica.

Patrón de diseño de proxy

  • Se utiliza un objeto de marcador de posición para controlar el acceso a otro objeto.
  • En lugar de interactuar directamente con el objeto principal, el cliente habla con el proxy, que luego administra la interacción.
  • Es útil para cosas como controlar el acceso, retrasar la creación de objetos hasta que sea necesario registrar o agregar comprobaciones de seguridad.

Componentes del patrón de diseño de proxy

  • Objeto: Una interfaz o una clase abstracta que define la interfaz común compartida por las clases.
  • Sujeto real: El objeto real que representa.
  • Apoderado: Actúa como sustituto o marcador de posición para el archivo.

Patrones de diseño conductual

  • Patrones que se refieren a los algoritmos y a la asignación de responsabilidades entre objetos.
  • Describen no solo los patrones de objetos o clases, sino también los patrones de comunicación entre ellos.
  • Existen:
    • Observer
    • Strategy
    • State
    • Command
    • Chain of Responsibility
    • Template
    • Interpreter
    • Visitor
    • Mediator
    • Memento

Tipos de patrones de diseño conductual

  • Patrón de diseño del método de la cadena de responsabilidad
  • Patrón de diseño del método de comando
  • Patrón de diseño del método del intérprete
  • Patrón de diseño del método mediador
  • Patrones de diseño del método Memento
  • Patrón de diseño del método del observador
  • Patrón de diseño del método de estado
  • Patrón de diseño del método de estrategia
  • Patrón de diseño del método de plantilla
  • Patrón de diseño del método del visitante

Studying That Suits You

Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

Quiz Team

Related Documents

More Like This

Use Quizgecko on...
Browser
Browser