essentially yes.
the model contains the bare code:
algorithms, encryption, etc --> these things are platform
independentthe view or UI:
has a current ability to display the program and/or output.
this UI could be dependent depending on the implementation, but all views will share object names and references to be used with the controller
*These 2 code blocks could be multiple classes, and they are completely independent of each other, and have no idea that the other even exists.
The Controller unites the model and UI:
containing code to grab pointers or references to buttons, textareas, mouse clicks, etc. It will then respond to the User Interface by calling the model with the supplied information.
The model should handle on it's own and error checking related to bad input into an algorithm, the controller handles errors which result in passing incorrect variable or type information. Each is technically independent, but the controller itself has access to the other 2.
a classic main method for a controller class is: (java example)
new Controller(new UI("title"),new Model());Hope that was specific enough for you