Entity–component–system (ECS) is an architectural pattern that is mostly used in game development.
Main points:
- every entity has unique id;
- every logic aspect is a component - raw data linked to the corresponding entity by id;
- system performs actions on entities having corresponding aspects/components;
- diffenent components can be stored separately;
- systems can track entities by using observer pattern.
More details can be found here.