Is there any advantage to creating a business application using the Entity-Component component system?

I understand the appeal of using the Entity-Component System for game development. Naturally, I am trying to find other areas for applying this paradigm. Since I am about to start developing a small business application, I was wondering how well Entity-Component would fit in with it. However, I cannot find any examples or discussions about using Entity-Component in everything except games. Is there a reason? Are there any advantages to using Entity-Component in software other than games?

+5
source share
2 answers

(Apologies for necromancy)

, . Entity , .

, , .

, . ( ContactAddress OrganisationAddress.) . , - Addressable Project, GUI .

, , ( ).

, , () - , , , . , , - , , .

+2

ECS ( , ) , . - , - ( , , COM-, ). , , , , , COM, , ( , ). , . ECS , .

, VFX, . , , , , , , , , ..

ECS - . , , , , .

, , ECS - , , , . , , , . .

, , , . , , , , , , , , - - , .

- . - E. W. Dijkstra

, . , , LOC , . , , , .

ECS , , 2- , , - , , . ECS , , , . , ECS , , , , . , , , . , , , . , , - .

, . , , ​​ , , , , - . , .

ECS , , . , , , , , - ( ).

ECS - , , , .

, , , , . , , Scene.Lights.World.Sunlight, , Sunlight.

, , . COM-, , , , . , , ( ), , , , , , .

ECS , , GlobalName , GlobalName . , , GlobalName . - ECS , GlobalName , , ( trie) .

GlobalName , . , . , (: , , GlobalName , , ).

, , , ​​4- , . . , , ; - , , . - , , script GUI, , .

"Inherit Anywhere"

- , ? :

// In some part of the system exists a complex beast of a class
// which is tricky modify:
class Foo {...};

// In some other part of the system is a simple class that offers
// new behavior we'd like to have in 'Foo', with abstract functionality
// (virtual functions, i.e.) open to substitution:
class Bar {...};

// In some totally different part of the system, maybe even a script,
// make Foo inherit Bar behavior on the fly, including its default
// constructor, copy constructor, and destructor behavior for Bar state.
Foo.inherit(Bar);
  • : Bar, Foo ? , ECS.

, , - , , //, , , , , , " ", ( ), .

ECS ​​, - ( ). // . , - , . , script, , , , , , ( " GlobalName, , " ).

, - ? , , , /, , , , .

ECS , / , . " ". .

, , ( , ) , , . . : unit test , , ? , ? , , ?

, , , , , , . , , unit test, , , , , .

ECS , , , , ( ), . - , /, . , , , .

ECS , . , / . , , / , , , . , , ( ) , , .

, , . , , , . - ! . , , , , , ECS.

"" ( , ), , ECS. :

enter image description here

, ( ). . , , , . ( , ):

enter image description here

, , , , , .. , , .

, ECS, . , , , , , - . -, .

, , , , - , (, , , ), . , , .

, , , -. , , , , , , , , ( RenderingSystem, GuiSystem, PhysicsSystem, InputSystem ..). , ECS , , -.

, , ECS, .

+1
source

All Articles