Is the Entity Component System architecture object oriented by definition?
Posted
by
tieTYT
on Programmers
See other posts from Programmers
or by tieTYT
Published on 2013-09-16T22:50:55Z
Indexed on
2014/06/10
21:46 UTC
Read the original article
Hit count: 223
Is the Entity Component System architecture object oriented, by definition? It seems more procedural or functional to me. My opinion is that it doesn't prevent you from implementing it in an OO language, but it would not be idiomatic to do so in a staunchly OO way.
It seems like ECS separates data (E & C) from behavior (S). As evidence:
The idea is to have no game methods embedded in the entity.
And:
The component consists of a minimal set of data needed for a specific purpose
Systems are single purpose functions that take a set of entities which have a specific component
I think this is not object oriented because a big part of being object oriented is combining your data and behavior together. As evidence:
In contrast, the object-oriented approach encourages the programmer to place data where it is not directly accessible by the rest of the program. Instead, the data is accessed by calling specially written functions, commonly called methods, which are bundled in with the data.
ECS, on the other hand, seems to be all about separating your data from your behavior.
© Programmers or respective owner