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.