Войти в систему

Home
    - Создать дневник
    - Написать в дневник
       - Подробный режим

LJ.Rossia.org
    - Новости сайта
    - Общие настройки
    - Sitemap
    - Оплата
    - ljr-fif

Редактировать...
    - Настройки
    - Список друзей
    - Дневник
    - Картинки
    - Пароль
    - Вид дневника

Сообщества

Настроить S2

Помощь
    - Забыли пароль?
    - FAQ
    - Тех. поддержка



Пишет nancygold ([info]nancygold)
@ 2024-05-11 14:16:00

Previous Entry  Add to memories!  Tell a Friend!  Next Entry
Настроение: amused

Alternatives to ECS
Some people evade ECS by using hierarchical state machines (HSMs), which makes processing complex objects somewhat manageable:
https://statecharts.dev/state-machine-state-explosion.html
https://statecharts.dev/what-is-a-statechart.html
A compound state can be split up into completely separate (“orthogonal”) regions. Each region specifies its own state machine. When a state machine enters such a state, it also enters all of the regions of the state at the same time.

They still convolve barely related concepts (i.e. "change" and "validity" in that example), so HSMs fall apart for larger projects (larger than a Pong game).

I think something as simple and basic as a Tetris game or a chat server core will be a challenge to represent with HSMs.

Like sawing a tree with a pocked knife.

Of course all these paradigms can be combined together. Nothing stops you from using ECS with HSM.

In fact, I implemented the entirety of classic OOP using ECS.
Since I've transitioned existing code;
And I want object aspects to be tangible and have associated methods.



(Читать комментарии)

Добавить комментарий:

Как:
Identity URL: 
имя пользователя:    
Вы должны предварительно войти в LiveJournal.com
 
E-mail для ответов: 
Вы сможете оставлять комментарии, даже если не введете e-mail.
Но вы не сможете получать уведомления об ответах на ваши комментарии!
Внимание: на указанный адрес будет выслано подтверждение.
Имя пользователя:
Пароль:
Тема:
HTML нельзя использовать в теме сообщения
Сообщение:



Обратите внимание! Этот пользователь включил опцию сохранения IP-адресов пишущих комментарии к его дневнику.