Coming from an MVC background, I am trying to understand Entity-Component based model. However, i can see description about the use components( data objects ) and entities ( group of different data-objects ie components), but cannot see how view is created. I can see something called "render" components though. But how would i use it ? It seems, i don't need to bother about separation of view from data in this architecture. But i doubt, if this is the case, then things would mess up.
Entity-Component systems are different from MVC systems. Specifically, an Entity-Component system is not a type of MVC system.
There are a broad range of component-based entity systems, each of them handling this a bit differently, but the way I decouple drawing from data is to use
Systems. A system is a class that takes data from components and works with them as a group. Some examples of systems would be a
CollisionDetectionSystem or an
AnimationSystem or, being the point of this question, a
GraphicsSystem would be registered with each component, and they could pass in their data to the system.
This pattern lets you decouple most, if not all logic from components (including rendering). There are definitely other ways of doing it, but I've found this one to be the most straightforward.