Vorrei sapere se il codice seguente è una buona implementazione del modello di progettazione dello stato. Ovunque vedo il modello di stato per mantenere il contesto e un cambiamento di stato non restituisce nulla. Ma nel mio esempio qui sotto, restituisco il nuovo stato (cioè Nord / Est, così via ...). Si prega di rivedere e aiutare.
public abstract class Direction
{
    public abstract Direction Right();
    public abstract Direction Left();
}
public sealed class East : Direction
{
    public East()
    { }
    public override Direction Left()
    {
        return new North();
    }
    public override Direction Right()
    {
        return new South();
    }
    public override string ToString()
    {
        return "EAST";
    }
}
Allo stesso modo per altre direzioni.
Grazie mille.