I am studying the Entity-Component-System architecture philosophy. As I have read about it, a typical entity system has:
1) Entities - which are merely ID tags which have a number of components
2) Components - which contain data on various aspects of an enity that the component is responsible for
3) Systems - which update relevant components of every entity. Say, a rendering system updates the rendering component, or simply saying, draws a picture that is stored in the data of that component. A positional and movement system handles position and movement of each entity who has a corresponding component.
These statements follow from this article which in my opition tries to be the most clear and pure in it's statements -
But the author did not explain how the interaction between systems should be realized. For example, the rendering system must know the data from the positional component of an entity in order to draw it in a correct position. And so on.
So the question is - how should I implement the interaction between the various systems?