Was sind einige Vorteile der Verwendung eines ECS über Erbschaft? Was sind einige Nachteile?
user
Durch das Vererbungs-System ist es möglich, die Leistungsfähigkeit zu transformieren, die Sie auf eine traditionelle monolithische objektorientierte Herangehensweise an die Entwicklung von Spielen beziehen können. Monolithische Vererbung erzeugt unordentliche Heap Allokationen, die schwierig zu optimieren sind, und die Nebeneffekte der verschiedenen Funktionen der Objekte können Race-Bedingungen verursachen, wenn Sie versuchen, Parallelismus in den Motor einzuführen. Die meisten dieser Nachteile sind diejenigen der klassischen monolithischen OOP Softwarearchitekturen im Allgemeinen, die ich bin glücklich, einen Auffrischer zu liefern, wenn Sie eine benötigen. ECS ist ein datenorientierter Ansatz, bei dem Entities sind im Allgemeinen Zeiger auf eine Reihe von Datenkomponenten, die oft in einfachen, effizient zugewiesenen Sammlungen jedes einzelnen Typs gespeichert werden. Ein ECS-System ist entworfen, um über Sammlungen von Entities zu betreiben, die eine starke Einstellung weg von der intuitiven Tendenz in OOP, um implizite Weltmodellierung durchzuführen, wenn die Hierarchie und Funktionalität von Spielobjekten zu entwerfen, während ein Entity ist ein Bündel von Datenkomponenten, die auf verschiedenen Systemen betrieben werden.
assistant
Warum ist OOP in der Softwareentwicklung so weit verbreitet?
user