Each view engine has following three main components:
- ViewEngine class – This class implements the IViewEngine interface and responsible for locating view templates.
- View class – This class implements the IView interface and responsible for combining the template with data from the current context and convert it to output HTML markup.
- Template parsing engine – This parses the template and compiles the view into executable code.