Implement Entity Component System (ECS) architecture#3149
Implement Entity Component System (ECS) architecture#3149rofidakhaled wants to merge 10 commits intoiluwatar:masterfrom
Conversation
c3ef23c to
f92c2a4
Compare
PR SummaryThis pull request implements the Entity Component System (ECS) architecture, improving entity management, component interaction, scalability, and reusability. It includes comprehensive unit tests for all components and systems. Changes
autogenerated by presubmit.ai |
There was a problem hiding this comment.
✅ LGTM!
Review Summary
Commits Considered (10)
- b6a3848: Merge branch 'master' into feature/485-ecs-pattern-implementation
- f92c2a4: even more issues fixed
- cada3be: fixing the last issues
- b4c6a30: fixing more maintainability and intentionality issues
- 80e42c3: Update HealthComponentTest.java
- a9edc07: fixing maintainability, and intentionality issues
- 38ef4a6: even more test cases
- cd41e1a: Update EntityTest.java
- 49cfb6b: adding test cases to all classes
- 0bb2e90: implementing ECS pattern
Files Processed (19)
- entity-component-system/README.md (0 hunks)
- entity-component-system/etc/entity-component-system.urm.puml (1 hunk)
- entity-component-system/pom.xml (1 hunk)
- entity-component-system/src/main/java/com/iluwatar/App.java (1 hunk)
- entity-component-system/src/main/java/com/iluwatar/Component.java (1 hunk)
- entity-component-system/src/main/java/com/iluwatar/Entity.java (1 hunk)
- entity-component-system/src/main/java/com/iluwatar/GameSystem.java (1 hunk)
- entity-component-system/src/main/java/com/iluwatar/HealthComponent.java (1 hunk)
- entity-component-system/src/main/java/com/iluwatar/TransformComponent.java (1 hunk)
- entity-component-system/src/main/java/com/iluwatar/VelocityComponent.java (1 hunk)
- entity-component-system/src/test/java/com/iluwatar/AppTest.java (1 hunk)
- entity-component-system/src/test/java/com/iluwatar/ComponentTest.java (1 hunk)
- entity-component-system/src/test/java/com/iluwatar/EntityTest.java (1 hunk)
- entity-component-system/src/test/java/com/iluwatar/GameSystemTest.java (1 hunk)
- entity-component-system/src/test/java/com/iluwatar/HealthComponentTest.java (1 hunk)
- entity-component-system/src/test/java/com/iluwatar/TransformComponentTest.java (1 hunk)
- entity-component-system/src/test/java/com/iluwatar/VelocityComponentTest.java (1 hunk)
- pom.xml (1 hunk)
- update-header.sh (1 hunk)
Actionable Comments (0)
Skipped Comments (0)
iluwatar
left a comment
There was a problem hiding this comment.
Additionally, please update the README.md. It needs to have a very specific format described in https://github.com/iluwatar/java-design-patterns/wiki/01.-How-to-contribute. See the other patterns for examples.
| /** | ||
| * The main entry point for the application. | ||
| * This class simulates a game loop where entities are created, updated, and their states are modified. | ||
| */ |
There was a problem hiding this comment.
Here, above the App class, please explain the pattern briefly and describe how the code example implements it.
| Entity entity1 = new Entity("Entity1"); | ||
| Entity entity2 = new Entity("Entity2"); |
There was a problem hiding this comment.
Add comments where needed. Remember, this is learning material.
| private String name; | ||
| private boolean isEnabled; |
There was a problem hiding this comment.
Use Lombok to get rid of boilerplate code such as getters and setters
|
|
This PR is stale because it has been open 60 days with no activity. |
|
Closed due to inactivity. Thank you for the contribution. |



This pull request implements the ECS pattern, improving and enabling : entity management, component interaction, scalability, and reusability.
Close # <485>