As an application developer by day, I spend a lot of my time worrying about separating business logic from the user interface / view. But I've noticed that in game development, this seems to be less of a concern. I'll often see View/Screen/Scene classes filled with game logic, or Player/SpaceShip/etc. classes containing Draw methods.
From a purist point of view, the behavior and properties of a spaceship would be separate from the object responsible for rendering this ship on screen (unless I'm mistaken).
I'm very interested to hear people's thoughts on this. How much do you adhere to these guidelines in your games, and what is your approach either way?