1、 1 中文 6700 字 本科毕业设计(论文)翻译 班 级 姓 名 学 号 指导教师 填表日期 2 中文译名 模型 -视图设计模式的探索之旅 外 文原文名 A Journey through the Land of Model-View-Design Patterns 外 文原文版出处 Published in: Software Architecture (WICSA), 2014 IEEE/IFIP Conference Date of Conference: 7-11 April 2014 INSPEC Accession Number: 14365364 Publisher: IEEE
2、 3 译 文: 摘要 每一个直接与用户交互的软件都有自己的用户界面 . 为了整合用户界面与应用逻辑,我们经常会使用 MVC 模式。使用 MVC 能够将 application domain(模型)从 软件状 态的表示(视图)以及用户的交互和控制中(控制器)分离出来。然而,研究文献中揭示了各种其他相关模式的存在,我们将其表示为 模式 -控制器 -*( MV*) 设计模式。本文将所讨论的现有的 MV* 模式分为三大类: MVC, MVVM 以及 MVP。我们将从专业的角度,强调每种模式的必要性以及它们的区别。研究表明,在选择这些模式的时候,应当考虑到手上的需求、用例和所选择的技术。我们将用一个例子
3、为读者展示我们在实践中如何选择设计方案。研究的目的在于带来更加清晰的 MV* 设计模式,以及帮助从业人员更好选择适合的设计模式。 导言 对于 每个具有交互功能的软件都会有用户界面,这就使得整合用户交互和程序领域成为一个反复出现的工程问题。在本文中,我们重点关注解决这些问题的设计模式。设计模式为这些反复出现的设计问题提供了通用的解决方案,为工程师获得进入该领域的系统知识提供了参考资料。 模型 - 视图 - 控制器( MVC)是一个用于集成用户界面和程序功能的著名的设计模式,最早是由 Krasner 和 Pop 在 Smalltalk80 中提出来,主要关注如何从应用的显示(视图)和交互(控制器)
4、分离出软件的领域(模型)。然而,研究文献表明,各种其他相关模 式存在,我们称之为 模型 - 视图 - *( MV*) 的设计模式。 20 世纪 80 年代后期,自从 MVC 模式出现以后,许多新的 MV*模式应运而生,目的在于消除其他模式所存在的缺点。这些模式包括 MVP 模型 -视图 -演示 和 MVVM 模型 -视图 -视图模型(或者演示模型) .随着编程语言和软件技术的发展, MV*模式也在不断发生变化,新的类型的设计模式也渐渐开始出现。导致今天的设计人员将面对一系列设计模式,这些设计模式中具有细微的差别然而却也非常重要。为了有效的选择合适的设计模式,设计者往往需要学习研究不同设计模式和
5、版 本,以了解他们的目的,用途,优势和劣势领域,用来解决他们的需求。设计模式的选择对代码的可读性和可维护性是很重要的,用错了设计模式(或者根本不用设计模式)来整合用户界面和软件模型容易使代码变得复杂,导致每一个小小的改动都得付出极大的代价来保证界面同逻辑的一致性。 4 在最近的一个 Sauer-Danfoss AB 同 林奈大学计算机学院的 R&D 项目里,我们就体验到了整合界面和程序逻辑的复杂。在这个项目里,我们学习如何在软件更新的时候动态地通知用户,以及怎样支持自动下载和安装更新。最开始的时候,项目使用标准的Windows 窗体来作为用户交互。然而,在项目的开发过程中,各种新的界面需求出现
6、了,迫使我们 寻求一种系统的方法来保证界面同底层的程序状态之间的一致性,此外还得保持项目是可理解的,可管理的。最终,我们研究了许多现存的模式,我们发现,这些模式有着细微的差别,因此模式的选择就成了一项艰巨的任务 很多作者对关于如何整合程序 UI 界面和程序逻辑状态的相关模式进行了对比,比如8,13.虽然这些研究很好得总结了 MV* 模式的基本概念,以及其他模式的特点,但是他们却缺少对不同类型的模式和相同类型的模式的深度剖析。本文从 总体上介绍现存的 MV*模式,特别是其中的 MVC ,MVVM 和 MVP。我们的研究将以专业的视角从编程语言和技术上的发展驱动模式的进化角度,探讨这些模式的重要性,它们的开销,以及使用范围。文章的目的是使 MV*模式更加清晰,并帮