Re[2]: Переходы
От: Qbit86 Кипр
Дата: 19.11.21 12:34
Оценка:
Здравствуйте, hardcase, Вы писали:

H>состояние есть объект, переходами являются ссылки между ними в виде свойств, этот граф можно распечатать в Dot нотацию и получить визуализацию.


Означает ли это, что экземпляры состояний и весь граф фиксированы заранее на всё время жизни автомата?
Что если у состояния должно быть своё заранее не фиксированное состояние?
Например:
internal sealed class MovingState : IState<...>
{
    private readonly Vector2 _velocity;

    internal MovingState(Vector2 velocity) => _velocity = velocity;

    ...
}


Отличие машины состояний от конечного автомата в том, что в машине число состояний потенциально бесконечное. Скажем MovingState — это бесконечное семейство состояний, параметризующихся значением velocity. На этот параметр влияют входные события/триггеры автомата, и сам этот параметр влияет на целевые состояния при переходах по входным событиям/триггерам. Кроме этого на целевые состояния при переходах влияет неявное и переменчивое состояние внешнего мира.
Глаза у меня добрые, но рубашка — смирительная!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.