Questions about ECS and OOP MVC.

Started by
1 comment, last by blewisjr 11 years, 5 months ago
1. Is Entity Component System (ECS) considered a part of OOP or is it a completely different concept?

2. Can the Model View Controller design pattern be used with non-OOP coding style, specifically with Entity Component System?
Advertisement

1. Is Entity Component System (ECS) considered a part of OOP or is it a completely different concept?

Depends on your definition of ECS and of OOP. A Smalltalk user has a very different perspective of OOP to a Java user, for example.

I can't help but wonder where this question came from, though. Will knowing 'the answer' actually help with anything?! :)


2. Can the Model View Controller design pattern be used with non-OOP coding style, specifically with Entity Component System?
[/quote]
Again depends on your definitions. You've managed to throw in a third overloaded concept in the form of MVC. This is near-perfect (accidental) trolling :)

The real answer is: try it, just on paper or a scratch buffer for 10 minutes, using whatever definitions you like for those things.

I'm tempted to say that most MVC systems require something akin to the observer pattern, which I guess you could say means that OOP is a requirement. On the other hand, 'observer' is barely a pattern at all in many functional programming languages, so perhaps not.

I fear these questions are far too vague.

EDIT: the one potentially useful thing I can say is that I'm sure you can implement MVC and and entity component system in pretty much any language, regardless of whether or not it's advertised as 'being OO'. So again, just have a go.
I have to agree with edd. These two systems imho are very vague. They both can be implemented in multiple ways all depending on how you persieve the system. It is possible to create these system in a non OO language if you persieve the solution in the proper way.

From the other perspective it would be much harder to implement these systems in C than C++. But even harder is by perspective what I probably mean is it would take much more code involving more complicated type manipulations probably. Depending on how generic the system needs to be.

edd is right in saying you should try it out. Worst thing that can happen is it does not work out like you expected. Nothing in MVC for instance states the Model, View and Controller need to be Objects. In C the Model can be a Struct and the View and Controller for that Model can be functions.

This topic is closed to new replies.

Advertisement