This is an interesting use case. Model-View-Controller pattern
is most often seen in web applications, but you can certainly make it work for text-based games.
Model
In the model layer we would have the entities -- User
and Room
.
Controller
Controller parses the input, updates the model and passes necessary data for the view. So upon the input 'east' an example controller code could be:
User user = User.current();
Room east = user.getRoom().getEast();
user.move(east);
render(east);
View
Render method would take the new room as the argument and would probably parse some kind of template that displays the name and the description of the new room.
Hope this helps. I personally would use command pattern in this particular case.