为模型(model),它负责为应用问题建模,管理应用问题的数据和行为,并对来自用户界面 的数据请求或数据更新指令进行响应。程序的用户界面部分称为视图(view),它负责显示模 型的当前数据状态,响应用户的交互动作。模型和视图是相互独立的,可以分开设计和测试, 从而简化程序结构、降低设计难度,这称为模型-视图(MV)设计方法。

    用 MV 方法设计程序时,定义模型不需要用到视图中的元素,定义视图也不需要用到模 型中的数据,从而可以分别设计和测试。另外,同一模型可以使用不同的视图来达到不同的 目的,例如可以先设计一个基于文本界面的简单视图来测试模型的正确性,确定模型没有问 题后再去设计更美观易用的 GUI 视图。在实际开发中,经常将用户界面封装成界面对象,这样随时可以通过替换不同的界面对象来改变模型的外观和用户体验。 模型设计与视图设计在很多方面都不一样。为应用问题建立模型是“智力密集型”的工作,需要创造性的算法设计;而构造视图则是“劳动密集型”的工作,需要用户友好和美观。 模型的建立很难借助自动化的设计工具,而图形界面的构建大部分都可利用设计工具自动或 半自动地完成。