登录

  • 登录
  • 忘记密码?点击找回

注册

  • 获取手机验证码 60
  • 注册

找回密码

  • 获取手机验证码60
  • 找回
毕业论文网 > 外文翻译 > 计算机类 > 软件工程 > 正文

基于Vue的个性化课选课系统的设计与实现外文翻译资料

 2023-02-22 20:16:05  

英语原文共 22 页,剩余内容已隐藏,支付完成后下载完整资料


附件2

本科生毕业设计(论文)文献翻译

设计(论文)题目:基于Vue的个性化课选课系统的设计与实现

1.MMVMI:iOS应用中MVC和MVVM设计模式的验证模型

摘要设计模式作为一种解决特定问题的策略,越来越受到人们的欢迎。本文探讨了ios开发领域中两种常见的设计模式:模型-视图-控制器(MVC)和模型-视图-视图-模型(MVVM)。本文研究了MVC设计模式存在的问题。然后,介绍了一个检测MVC问题的验证模型,并帮助程序员做出在MVC和MVVM设计模式之间切换的决定。提出的验证模型分为两个阶段,第一阶段是检测MVC问题,第二阶段是验证MVVM对象之间的关系,然后将该模型应用到一个云应用程序中作为案例分析。结果,该模型能够检测MVC问题。验证了MVVM对象之间的关系。进一步的研究为满足项目中MVVM对象之间的关系提供了一些建议性的解决方案。

1.简介

多年来,软件不断发展变化,以适应用户的需求。用户需要通过界面与软件进行交互,界面的融合促进了设计模式的新需求,以帮助保持界面的用户友好性并改进界面。从那时起,出现了几个设计模式,然后发展和成熟(2)。设计模式重用相同的思想来构造一个解决方案来解决一些常见的问题[3]。模型-视图-控制器(MVC)设计模式经常用于构建交互式软件系统14]。MVC设计模式提供了一种将应用程序的组件构造成不同的独立角色的方法3)事实上,最近的技术鼓励在设计阶段141早期分离应用程序的角色。因此,角色分离改进了应用程序的实现,因为它构成了一个健壮而灵活的应用程序。MVC的分隔如下:MVC中的视图对象向用户显示数据,而用户交互由控制器对象处理(4)。应用程序逻辑和数据是模型对象的责任[4]。模型-视图-控制器(MVC)设计模式是苹果公司推荐的,因为它的框架是基于它构建的(5)。因此,任何ios开发人员都将开始基于模型-视图-控制器(MVC)设计模式编程ios应用程序。对于某些项目来说,MVC工作得很好:根据需要,它会导致可重用的对象可扩展对象和更多的好处无法按预期工作,因为这将导致ios社区中的一个著名问题:大规模视图控制器问题当控制器对象超过150行时,这是大规模视图控制器问题的指示。当控制器对象处理的任务比自己的多时,它们将是巨大的。模型-视图-视图-模型(MVVM)通过在对象之间严格分配角色和职责来优雅地设计模式救援器[6l.通过使用MVVM设计模式,控制器对象将只设置用户界面组件的值,而用户界面的所有数据逻辑准备将位于视图-模型对象中,根据经验,MVC和MVVM都有各自的优点和缺点,选择其中一种作为设计模式非常依赖于项目架构。例如,Javascript有不同的框架,每个框架都根据框架需要使用MVC或MVVM。即Angular.JS、Angular 2和Vue.JS是基于MVC的,而Ember.JS是基于MVVM 171构建的。从本质上讲,本研究的目的是:

1)了解设计模式在ios开发中的影响、作用和重要性

2)帮助开发人员决定何时使用mvc或MVVM

3)提供一种检查和验证MVVM功能之间关系的方法

为了实现这些目标,我们提出了一个模型来帮助开发人员指出从MVC设计模式切换到MVVM设计模式的时间。提出的模型包括两个阶段。第一阶段将检测项目是否存在大规模的视图控制器问题。第二阶段,检查项目对象是否正确遵守MVVM。因此,本文有三个重要贡献。首先,提出了MVC问题,然后,本文提出了一个实现这些目标的验证模型:检测大量的控制器对象,验证MVVM对象之间的关系。

本文的其余部分组织如下:第2节提供了模型视图控制器(MVC)和模型视图视图模型(MVVM)设计模式的背景知识。第三节介绍了相关工作。第4节介绍了MMVMI,我们在ios应用程序中验证MVC或MVVM的模型,并解释了它的两个阶段。将MMVMI应用于2例,并对结果进行了说明。然后,通过与第6节中其他工具的比较,对MMVMI进行评估,得出结论。论文的最后一部分是下一步的工作。

2.背景

设计模式已经成为应用程序开发过程的一部分,因为它们帮助和指导开发人员开发高效的和健壮的应用程序。设计模式提供了解决软件开发项目中常见问题的策略[8]。所提供的解决方案是抽象的,与特定的编程语言或平台无关[8]。设计模式有助于避免或解决问题,但它们不提供精确的解决方案,因为它们需要额外的工作才能适应特定的项目[8]。设计模式提高了代码的灵活性,这是一项很好的投资,因为它使代码具有适应性和健壮性[8]。表示设计模式用于基于Gui的应用程序[2],概念分离(Soc)是表示设计模式的基本概念[2]。本节提供了有关两种常见表示设计模式(模型-视图-控制器(MVC)设计模式和模型-视图-视图-模型(MVVM)设计模式)的背景知识。

A、 模型-视图-控制器(MVC)设计模式

在1979 Trigve Reunkag介绍了模型视图控制器(MVC)的设计模式在他的工作SimultSalk在施乐PARC [ 2 ]。MVC的目的是将应用程序的概念分成三个对象,每个对象都有自己的任务来处理[10]。MVC将关注点分离如下:存储和管理数据的对象、显示数据的对象和处理用户交互的对象[10]。由于应用程序逻辑和接口之间的严格分离,MVC支持开发极易维护的结构良好的应用程序[10]。

图1描述了三个实体的传统模式列表:模型对象、视图对象和控制器对象。如图1所示,三个实体中的每一个都识别另外两个实体[6]。因此,整体可靠性将降低,这被认为是传统MVC设计模式不适用于IOS应用程序的主要缺点[6]。IOS应用程序的发展及其新需求的提出,揭示了传统MVC设计模式的弱点[10]。因此,为了克服传统MVC设计模式中的所有限制,苹果在图2[6]中对其进行了增强。在Apples MVC中,控制器对象知道视图对象和模型对象[11l。此外,控制器对象还可以在需要时更新视图对象和模型对象[11]。而模型对象不需要知道视图对象或控制器对象的任何信息[I11]。同样地。视图对象不需要知道模型对象或控制器对象[11]。然而,视图对象响应用户交互,然后通过委托模式或目标操作模式将这些交互发送给控制器对象[11]。因此,在苹果的模型-视图-控制器设计模式中,视图对象与模型对象完全分离[12]。因此,应用程序逻辑与用户界面(131)分离,从而导致更多的可重用对象和更多的扩展应用程序[14]。苹果的 MVC将对象之间的角色划分如下:(1) 模型对象管理应用程序数据,(2)视图对象呈现交互设备元素,并向控制器对象发送用户操作(3)控制器对象绑定模型对象和视图对象以获取并包含应用程序逻辑[15]。更详细地说,控制器对象具有以下角色:创建视图、更新视图、验证输入、查询模型、修改模型、将用户操作映射到更新模型、将段处理到其他控制器以及保持网络逻辑[5]。实际上,视图对象和控制器对象作为一对完成它们的任务,允许用户在用户界面中与呈现对象交互。这些呈现对象是视图对象。而用户交互由控制器对象处理[10]。然而,MVC将视图对象与控制器对象分离,并将它们视为单独的对象[10]。通过这种分离,MVC增强了概念分离(Soc)的能力[10]。显然,苹果的Uikit框架遵循MVC设计模式,因为它们的名字揭示了它的理念。例如,Uiview控制器告诉Uiview在屏幕上呈现什么,这是根据MVC的,Uiview控制器是控制器对象,Uiview是aView对象[11]。为了说明这一点,数据源(模型)提供了一个Uipicker视图及其数据,因此Uipickerview是从模型对象获取数据的视图对象[11]。苹果的MVC设计将应用程序松散地分为三个对象:模型对象、视图对象和控制器对象。这种松散的分离会给控件对象分配许多不同的角色,从而产生负面影响。此外,有些代码部分开发人员不知道在哪里编写,因为这些部分不属于视图对象或模型对象。例如:表-视图-委托方法、从数据库中读取数据的网络请求、视图布局等等,这些部分都将被写在控制器对象中,结果,基于应用程序的代码将最终生成大量的控制器,这些控制器非常复杂[5]。因此,很难测试这些庞大的控制器,因为它们包含几个不相关的角色[5]。此外,这些不相关的角色由于其职责的不同,使得大量的控制器难以重用和维护。控制器对象不应包含任何逻辑,它们应仅作为模型对象和视图对象之间的中介。

此外,大量的控制器会增加在代码中写入错误的机会,而不会识别它们,因为它们很长而且很难测试[5]。下一小节将解释海量视图控制器问题的解决方案

  1. 模型视图视图模型(MVVM)设计模式

在80年代,Smalltalk引入了模型-视图-视图-模型(MVVM)设计模式,以克服MVC的局限性,并从MVC的一些优点中获益12]。事实上,MVC和MVVM都主张关注点分离(Soc)的概念,这提高了代码质量[9]。然而,MVVM比mvc更能分离关注点,这降低了复杂性,并最大限度地提高了可测试性和可重用性。MVVM引入了一个名为Viewmodel object的新obiet。这个对象具有为视图对象准备数据的逻辑,这是MVC[5]中controller对象的职责。此外,与MVC类似,视图对象和控制器对象是成对的,但mvvm将它们合并为一个对象,并称之为View objects[10]。因此,MVVM增加了数据独立性和应用程序逻辑封装[9]。最近的一项研究[16]利用MV VM设计模式表明,它压缩了基于代码的代码,使其具有灵活性,绝对有多种版本的MVVM,IOS社区使用MicrosoftMVVM[10]。此外,在文献[17]中的研究通过在Tintm3 IOS应用程序开发中使用面向目录的模型视图模型(POP MVVM)展示了该模型。POP-MVVM利用面向协议的编程模式来增强原来的MVVM。MVVM的目的是通过在三个对象之间分配不同的职责,将应用程序的逻辑关注点与用户界面关注点分离:第一,视图对象呈现用户界面,第二,视图模型对象负责用户交互和视图状态,第三,模型对象处理数据[10]。此外,要使用应用程序,dataView模型对象拥有模型对象,并且可以直接访问它们[10],如图361所示。另一方面,View objects和Viewmodel objects以microsofta引入的一种新方式操作,它是数据绑定[10]。数据绑定改进了视图对象和视图模型对象之间的逻辑分离[10]。在MVVM中,视图对象和模型对象具有与MCV中相同的角色。的确。MVVM通过将一些控制器对象移动到viewmodel对象来减少控制器对象的角色。如图3所示,视图模型对象位于模型对象和视图/视图控制器控制器对象之间[2]。MVVM设计模式中的控制器对象具有以下角色:创建视图、更新视图、映射用户操作以更新模型。并将段处理给其他控制器[5l,相反,视图模型对象的角色包括:从模型对象收集数据、准备数据以供表示、输入验证和保持网络逻辑[5]。

  1. 相关工作

本节讨论了相关工作,并展示了与其他现有工作相关的建议模型,Github上提供了相关工作,Github是使用GitSource代码管理(SCM)工具托管代码或软件存储库的站点[18]。Github满足了开源软件(OSS)项目的需求,它帮助开发人员和程序员共享代码并相互协作,Github通过提供社区访问配置文件,使用户能够跟踪其他用户的操作[I8]。这种透明的社会整合通过观察和遵循其他程序员的行为来提高彼此的学习,例如:他们编写解决问题的推荐方法的方式,用观察其他作品的想法激励程序员,以及更多的活动[19]。Luft[20]是一个Xcode插件,旨在通过帮助程序员使视图控制器更短、更轻来提高视图控制器的质量。Luft的主要优点是:它在编码asit颜色时的可用性取决于视图控制器的状态。根据行数,Luft对于视图控制器有三种状态:(1)最小150行的轻型视图控制器;(2)大于或等于150行或小于或等于300行的稍重的视图控制器;(3)大于300行的大型视图控制器。Luft colors Xcode gutter在灯光视图控制器的情况下为绿色。然而,,在大型视图控制器的情况下,Luft用红色将Xcode gutter着色。当视图控制器变得有点沉重时,通过将Xcode gutter变为黄色来增加wams程序员的工作量。目前,Xcode的最新稳定版本是version9.2,它有许多改进。自Xcodeversion 8以来,代码签名要求已经改变,并引入了Xcode扩展。这两个因素都使得添加Xcode插件变得更加复杂,有时甚至不可能[20]。因此,在Xcode当前版本中使用Luft没有简单的方法,因此这被认为是一个巨大的缺点。很明显,Luft与MVC中的大规模控制器检测(MCD)阶段和IOS中的MVVM验证模型(MMVMI)有关。Lufand和MCD都有相同的三种状态:一个轻视图控制器。一个重一些的视图控制器。还有一个巨大的视野控制器。MCD对视图控

剩余内容已隐藏,支付完成后下载完整资料


资料编号:[234436],资料为PDF文档或Word文档,PDF文档可免费转换为Word

您需要先支付 30元 才能查看全部内容!立即支付

企业微信

Copyright © 2010-2022 毕业论文网 站点地图