0% encontró este documento útil (0 votos)
75 vistas2 páginas

Implementación del Patrón Command en C#

El patrón Command encapsula una solicitud como un objeto permitiendo parametrizar clientes con diferentes solicitudes y soportar operaciones reversibles. En el ejemplo, las clases LightOnCommand y LightOffCommand implementan la interfaz ICommand y ejecutan los métodos TurnOn y TurnOff de la clase Light cuando se llama a su método Execute.

Cargado por

arce_1500
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
75 vistas2 páginas

Implementación del Patrón Command en C#

El patrón Command encapsula una solicitud como un objeto permitiendo parametrizar clientes con diferentes solicitudes y soportar operaciones reversibles. En el ejemplo, las clases LightOnCommand y LightOffCommand implementan la interfaz ICommand y ejecutan los métodos TurnOn y TurnOff de la clase Light cuando se llama a su método Execute.

Cargado por

arce_1500
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Patrón Command en C#:

El patrón Command es un patrón de diseño de comportamiento que encapsula una solicitud como un objeto,
permitiendo parametrizar los clientes con diferentes solicitudes, encolar o registrar solicitudes y soportar
operaciones reversibles (deshacer)

using System;

// Command interface
interface ICommand
{
void Execute();
}
// Concrete commands
class LightOnCommand : ICommand
{
private Light _light;
public LightOnCommand(Light light)
{
_light = light;
}
public void Execute()
{
_light.TurnOn();
}
}

class LightOffCommand : ICommand


{
private Light _light;
public LightOffCommand(Light light)
{
_light = light;
}
public void Execute()
{
_light.TurnOff();
}
}

// Receiver
class Light
{
public void TurnOn()
{
[Link]("Light is on");
}
public void TurnOff()
{
[Link]("Light is off");
}
}

// Invoker
class RemoteControl
{
private ICommand _command;
public void SetCommand(ICommand command)
{
_command = command;
}
public void PressButton()
{
_command.Execute();
}
}

class Program
{
static void Main(string[] args)
{
Light light = new Light();
ICommand lightOn = new LightOnCommand(light);
ICommand lightOff = new LightOffCommand(light);

RemoteControl remote = new RemoteControl();

[Link](lightOn);
[Link]();

[Link](lightOff);
[Link]();
}
}

Ejemplo de Mundo Real del Patrón Command:

Un ejemplo de mundo real del patrón Command es la interfaz de un sistema de edición de texto o procesador
de palabras. Cada acción que el usuario realiza en el editor (como "copiar", "cortar", "pegar", "negrita",
"cursiva", "subrayado") puede ser encapsulada como un comando que implementa la interfaz ICommand

También podría gustarte