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
public class Context
{
private Strategy? _strategy;
public void SetStrategy(Strategy strategy)
{
_strategy = strategy;
}
public void ExecuteStrategy()
{
_strategy?.Execute();
}
}
Beispiel
Klassendiagramm

Implementierung
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?