Strategy

Strategy ist ein verhaltensorientiertes Entwurfsmuster, mit dem du eine Familie von Algorithmen definierst, jeden von ihnen in einer eigenen Klasse unterbringst und ihre Objekte austauschbar machen kannst.

Klassendiagramm

Implementierung

Context.cs
public class Context
{
    private Strategy? _strategy;

    public void SetStrategy(Strategy strategy)
    {
        _strategy = strategy;
    }

    public void ExecuteStrategy()
    {
        _strategy?.Execute();
    }
}

Beispiel

Klassendiagramm

Implementierung

ShoppingCart.cs
public class ShoppingCart
{
    private IPaymentStrategy? _strategy;

    public void SetStrategy(IPaymentStrategy strategy)
    {
        _strategy = strategy;
    }

    public void Checkout(decimal amount)
    {
        _strategy?.Pay(amount);
    }
}

Zuletzt aktualisiert

War das hilfreich?