期刊鉴别 论文检测 免费论文 特惠期刊 学术答疑 发表流程

基于MVC模式的人机交互框架的设计与实现

时间:2015-08-27 09:36 文章来源:http://www.lunwenbuluo.com 作者:蔚鹏志 点击次数:

  本文针对人机交互框架的业务需求特点,提出了一个基于MVC模式的人机交互软件框架模型。并在此模型的基础上进行了软件架构设计,并在Linux操作系统开发环境下,利用C++语言完成了框架的开发。

  【关键词】MVC人机交互框架

  人机交互软件需要向用户提供显示界面,展示数据,并对用户在界面的操作给出回应。很多用户也希望在保持功能不变的基础上,可以方便快捷地调整操作界面,这也是提高软件可扩展性和可复用性的要求。MVC模式将软件的操作界面和数据模型独立出来,对显示界面的调整不会影响数据模型,降低了软件模块之间的耦合性,是比较适合用来开发人机交互框架的设计模式。

  1MVC模式

  MVC是一种很流行的设计模式,在人机交互类的系统中被广泛应用。它把一个系统分为三个部分:模型(Model)、视图(View)和控制器(Controller)。模型用来管理数据,它封装了系统使用的数据,提供了操作这些数据的接口,视图用来提供给用户界面,定义了需要显示的数据以及数据显示的方式,控制器用于处理用户对视图的操作,并传递给数据模型。

  MVC模式的核心思想就是功能分离。图1表示了MVC模式三个部分的功能和相互之间的关系,实线代表调用了接口,虚线代表返回了结果。

  2软件架构设计与实现

  人机交互框架的架构如图2所示。整体的框架采用了MVC模式。

  整个框架的界面显示部分在View类中实现,在具体实现中使用了工厂模式,把所有的界面控件元素全部抽取出来,提供了统一的显示风格,提高了代码的复用性,这些控件元素包括Button(按钮)、SoftKey(软键盘)、TableWidget(表格)、LineEdit(输入框)等,这样以来即便把界面部分剥离出去,那么这些控件仍可以被复用,不受影响。所有的屏幕显示是由不同的控件来组成,而View来负责不同控件显示之间的切换以及整个界面的布局。

  框架的设计遵循了“界面和数据高度分离”的原则,实现系统各部分之间的模块化,尽量保证界面和数据两个模块之间的耦合性降到最低,模块内部的内聚性达到最高。用户界面的呈现由View类来负责,数据的存储和处理由Model类来负责。这两个类之间需要进行交互,因为用户对界面进行操作后需要将操作过程传递给数据模型,数据模型根据操作的类型做出处理,数据处理结束后给用户界面返回一个结果,结果需要呈现在界面上。

  Observer(监听者)模式可以用来实现View类和Model类之间交互的功能。具体实现的方法如下:首先,Control实现Observer的接口,对用户界面的更新及显示进行一定程度的封装。然后Control通过变量m_Model传递一个Observer给Model,从而实现对Model部分的监听,当Model中的数据发生改变时,会通知Observer。这样Control就建立起了View和Model之间的联系。

  View类和Model类里分别实现了一个ControlQueue队列和一个EventQueue队列。ControlQueue队列运行在前台,负责维护View上所有的控件以及控制控件的显示,它对用户的输入进行解析,包括应该显示哪些控件,以及处理这些控件相对应的消息。EventQueue队列在后台运行,它负责对消息的维护。它在Model类中的监听线程中被监听,一旦Model中的数据发生了变化,就会发送一定格式的数据包,一旦监听到了数据包,就会按照约定的解包规则解析这个数据包的具体含义,解析完成以后调Observer把数据的状态变化反映到View类里,View类将变化后的数据展示给用户。这样就能实现了界面和数据的分离,界面和数据模块之间不需要实现相互之间的调用,耦合度很低。

  3结论

  本文首先对MVC模式各部分的功能和关系进行了简单介绍,然后提出了一个基于MVC模式的人机交互软件框架模型。在此模型的基础上进行了人机交互框架的架构设计和实现。采用本文提出的设计方法,该框架不仅能够满足当前人机交互框架的实际应用需求,而且具有以下三个突出的优点:

  (1)界面和数据的低耦合性,即把界面显示和数据的处理完全分离开来,界面和数据分别为独立的模块,把它们之间的交互减少到了最低。

  (2)在设计中主要采用MVC、工厂模式和Observer模式等流行设计模式,程序结构清晰,容易理解。

  (3)模块内部有很强的内聚性,任何一个模块都实现了独立的功能,对其他模块依赖很小,一个模块的修改并不会对其它模块产生大的影响,有利于协同开发。

  参考文献

  [1]覃征,邢剑宽,董金春.软件体系结构[M].北京:电子工业出版社,2008:28-39.

  [2]韩怿冰.MVC模式浅析[J].科技信息,2007,1(25):351.

 

  •   论文部落提供核心期刊、国家级期刊、省级期刊、SCI期刊和EI期刊等咨询服务。
  •   论文部落拥有一支经验丰富、高端专业的编辑团队,可帮助您指导各领域学术文章,您只需提出详细的论文写作要求和相关资料。
  •  
  •   论文投稿客服QQ: 论文投稿2863358778 论文投稿2316118108
  •  
  •   论文投稿电话:15380085870
  •  
  •   论文投稿邮箱:lunwenbuluo@126.com

    联系方式

    • 论文投稿客服QQ: 论文投稿2863358778
    • 论文投稿客服QQ: 论文投稿2316118108
    • 论文投稿电话:15380085870
    • 论文投稿邮箱:lunwenbuluo@126.com

    热门排行

     
    QQ在线咨询
    咨询热线:
    15380085870
    微信号咨询:
    lunwenbuluoli