--- View: Responsibilities: - (what the class does) - Render the Model - Transform coordinates - - - Collaborations: - (related objects) - Controller - Model - - - --- Controller: Responsibilities: - (what the class does) - Interpret user input - Distribute control - - - Collaborations: - (related objects) - View - Model - - - --- Model: Responsibilities: - (what the class does) - Maintain problem related info - Broadcast change notification - Collaborations: - (related objects) - - - #### .----------------------------------------. | View | .-------------------------.--------------. | - Render the Model | - Controller | | - Transform coordinates | - Model | | | | | | .----------------------------------------. | | | Controller | '-------------------------'--.-------------------------.--------------. | - Interpret user input. | - View | | - Distribute control | - Model | | | | | | | | | | '-------------------------'--------------' .----------------------------------------. | Model | .-------------------------.--------------. | - Maintain problem | | | realted info. | | | - Broadcast change | | | notification. | | | | | '-------------------------'--------------' Note that the cards are placed such that View and Controller are overlapping (implying close collaboration) and placed above Model (implying supervision.)