Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Módulo 1 - Lectura 4 API1 - Enunciado de La Actividad Paradigmas de Programación
Módulo 1 - Lectura 4 API1 - Enunciado de La Actividad Paradigmas de Programación
Referencias
Revisión del módulo
Lección 1 de 4
Propósito
Ámbito Patrones de
Patrones de Patrones
comportamien
creación estructurales
to
Interpreter
Factory Adapter .
Clase method. (de clase). Template
Method.
Objeto
Abstract Adapter Chain of
factory. (de Responsibi
objetos). lity.
Builder.
Bridge. Command.
Prototype.
Composite Iterator.
Singleton. .
Mediator.
Decorator.
Memento.
Facade.
Observer.
Flyweight.
State.
Proxy.
Strategy.
Visitor.
C O NT I NU A R
Lección 2 de 4
Figura 1: Bridge
Digamos que tenemos una clase geometría “forma” que a su vez tiene dos
subclases: “círculo y cuadrado”, y queremos extender esta jerarquía de
clases para que incorpore colores. Entonces lo natural es crear las subclases
de forma “rojo” y “azul”. Ahora bien, como ya tenemos dos subclases,
tenemos que crear cuatro combinaciones de clase, como círculo azul y
cuadrado rojo.
Figura 2: Problema
Figura 3: Solución
Fuente: Refactoring.Guru. (s. f.). Solución. Recuperado de https://refactoring.guru/es/design-
patterns/bridge.
Figura 5: Pseudocódigo
Fuente: Refactoring.Guru. (s. f.). Pseudocódigo. Recuperado de
https://refactoring.guru/es/design-patterns/bridge.
class RemoteControl is
constructor RemoteControl (device: Device) is
this.device = device
method togglePower () is
if (device.isEnabled () ) then
device.disable ()
else
device.enable ()
method volumeDown() is
method channelDown () is
device.setChannel (device.getChannel () - 1)
method channelUp () is
device.setChannel (device.getChannel () + 1)
class AdvancedRemoteControl extends RemoteControl is
method mute () is
device.setVolume (0)
// La interfaz de "implementación" declara métodos comunes a
// las primitivas.
interface Device is
method isEnabled ()
method enable ()
method disable ()
method getVolume ()
method setVolume (percent)
method getChannel ()
method setChannel (channel)
class Tv implements Device is
// ...
class Radio implements Device is
// ...
tv = new Tv ()
radio = new Radio()
C O NT I NU A R
Lección 3 de 4
Referencias
C O NT I NU A R
Lección 4 de 4