Disy Tech-Blog

Entity Component Systems

Entity Component Systems

JUG @ Disy – Teil I

11.04.2016 | Michael Galetzka

Im März war die Java User Group Karlsruhe zu Gast bei Disy. Wir hatten einen tollen Abend mit Vorträgen zu Entity Component Systems und Project Jigsaw. Wer das verpasst hat oder sich das eine oder andere Detail in Erinnerung rufen möchte, findet hier Zusammenfassung, Video und Folien.

(Heute zu Entity Component Systems, demnächst zu Project Jigsaw.)

Entity Component Systems

Entity-Component-Systeme sind ein Architekturmuster, das seinen Ursprung in der Spieleentwicklung hat. Dabei wird komplett auf Vererbung im Sinne von OOP verzichtet; stattdessen wird das Verhalten von Objekten über Entities und Components definiert.

Dies ist nicht mit der komponentenbasierten Entwicklung zu verwechseln, bei der es darum geht, eine Anwendung in wiederverwendbare Komponenten zu unterteilen. Entity-Systeme versuchen viel mehr, einige der Probleme der objektorientierten Programmierung zu beseitigen. Insbesondere bei sehr dynamischen Projekten oder beim Prototyping helfen Entity-Systeme, neue Anforderungen schnell und ohne große Refactorings umzusetzen.

Der Vortrag gibt einen kurzen Überblick über Entity-Component-Systeme sowie deren Vor- und Nachteile. Anschließend werden der aktuelle Stand der Dinge im Java Umfeld und einige der vorhandenen Frameworks vorgestellt.

(Zum Video auf YouTube.)

(Zu den Folien auf GitHub.)