燕山大学——软件用户界面设计(五)UI架构

这篇具有很好参考价值的文章主要介绍了燕山大学——软件用户界面设计(五)UI架构。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

             界面设计中的“设计”与“实现”,本节的UI架构属于“实现”部分。

燕山大学——软件用户界面设计(五)UI架构


1.GUI设计模式(Design patterns for GUIs)

(1)视图树(View tree

①定义:GUI结构是一个视图树。视图是一个对象,显示在屏幕的某个区域,可以是一个控件或者其他元素。

②视图树的使用:

        输出:GUI通过改变视图树来改变输出;重绘算法自动重绘受影响的视图

        输入:GUI将监听器绑定到视图,来接收键盘和鼠标的输入

        布局:自动布局算法通过遍历树来计算视图的位置和大小

③输入处理:

        输入处理程序与视图相关联,被称为监听器(listeners)、事件处理程序、订阅器、观察器等

燕山大学——软件用户界面设计(五)UI架构

(2)监听模式(Listener Pattern

①(上面提到的)GUI输入处理是监听模式的一种

②事件源产生一系列离散事件(例如鼠标事件)

③监听器注册对事件源感兴趣的事件,也可以取消订阅

④当一个事件发生时,事件源将事件分发给所有绑定的监听器

(3)模型视图(Model-view

①目的:分离前后端

输出:由视图树表示

输入:由绑定在视图上的监听器处理

后台(又称模型):保存用户界面正在展示和编辑的数据

②模型-视图-控制器模式(Model-View-Controller Pattern,简称MVC

模型(Model)维护应用程序状态

视图(View)显示数据

控制器(Controller)处理输入

燕山大学——软件用户界面设计(五)UI架构

燕山大学——软件用户界面设计(五)UI架构

燕山大学——软件用户界面设计(五)UI架构文章来源地址https://www.toymoban.com/news/detail-453212.html

③模型视图的优点

        [1]责任分离:一个模块只负责一个功能    模型Model-数据  视图View-输入输出

        [2]解耦(Decoupling):视图和模型彼此分离,可以独立修改;模型可以被多个视图复用;多个视图可同时使用同一个模型;视图也可以被其他模型复用

④控制器Controller和视图View很难分离

        [1]控制器需要输出:视图必须给控制器提供功能可视性(eg滚动条的拇指)还要对控制器状态的反馈(eg按下的按钮)

        [2]控制器和视图共享的情况下谁来管理选择:必须由视图显示;必须由控制器来更新和使用;通常不应当在模型中选择,有些视图需要独立的选择(例如,同一文档上的两个窗口),其他视图需要同步选择(例如,表视图和图表视图)

⑤小部件:紧密耦合的视图和控制器

        小部件是一个可重用的视图对象,它同时管理输出和输入,有时被称为组件(Java、Flex)或控件(Windows),例如 滚动条、按钮、菜单条

2.GUI编程方式(Approaches to GUI programming)

面向过程的(procedural):代码表示,如何得到你想要的

声明式的(declarative):代码表示,你想得到什么

直接操作(direct manipulation):直接在操作界面创建你想要的(画图)

①标记语言HTML   声明性地指定视图树

②视图树操作JavaScript  循序渐进地改变视图树

③直接操作HTML编辑  AdobeDreamweaver

优点和缺点:

①说明性编程更简洁,程序员只需知道怎么说,不需要知道如何实现

②说明性编程可能更难调试,不能设置断点,不能单步调试,需要更多的试错

③说明性编程的规范使直接操作的创作工具成为可能,因为说明性编程的规范可以通过工具加载并保存,而过程性(程序性)编程不可以

到了这里,关于燕山大学——软件用户界面设计(五)UI架构的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 燕山大学机器学习实验一:线性回归1——糖尿病情预测

    一、加载糖尿病数据集 diabetes,观察数据 1.载入糖尿病情数据库 diabetes,查看数据。 2.切分数据,组合成 DateFrame 数据,并输出数据集前几行,观察数据。 二、基于线性回归对数据集进行分析 3.查看数据集信息,从数据集中抽取训练集和测试集。 4.建立线性回归模型,训练数

    2024年02月08日
    浏览(52)
  • 燕山大学计算机网络实验(windows网络配置方法及基本网络命令、交换机和路由器的使用、小型校园网络模拟搭建)

    项目源码以及报告获取,可看我专栏简介 1、查看本机网络配置,根据配置信息,把本机地址改为静态地址,并使用ipconfig、ping命令验证网络状态,如果网络不通请根据相关现象测试,并给出自己的推论和思考。(请使用自己的笔记本连接校园网无线进行操作) 2、在本机网络

    2024年02月01日
    浏览(60)
  • 用户界面设计和评估:如何设计具有吸引力、易用性和可靠性的用户界面?

    作者:禅与计算机程序设计艺术 用户界面(User Interface)是一个给用户提供服务或者产品的系统界面,通过人机交互、信息呈现、文字表达、图形符号等表现形式进行沟通,帮助用户更好的使用产品或服务。它对于提升企业的品牌影响力、增加客户黏性、改善用户体验、降低

    2024年02月13日
    浏览(39)
  • 设计图形用户界面的原则

    1) 一般性原则:界面要具有一致性、常用操作要有快捷方式、 提供简单的错误处理、对操作人员的重要操作要有信息反馈、操作可 逆、设计良好的联机帮助、合理划分并高效地使用显示屏、保证信息 显示方式与数据输入方式的协调一致 2) 颜色的使用:颜色是一种有效的强化

    2024年02月08日
    浏览(64)
  • 前端用户体验设计:创造卓越的用户界面和交互

    💂 个人网站:【工具大全】【游戏大全】【神级源码资源网】 🤟 前端学习课程:👉【28个案例趣学前端】【400个JS面试题】 💅 寻找学习交流、摸鱼划水的小伙伴,请点击【摸鱼学习交流群】 用户体验(User Experience,UX)是前端开发中至关重要的一环。一个优秀的用户体验

    2024年02月04日
    浏览(42)
  • 用户界面设计和交互设计中的用户体验个性化(AI)

    作者:禅与计算机程序设计艺术 随着互联网、移动互联网、物联网等新型信息技术的广泛应用,传统的静态网站在面对动态变化的需求时显得力不从心。因此,动态网站应运而生。动态网站能够更好地满足用户的需要,用户可以快速找到自己想要的信息、做出决策或进行交易

    2024年02月09日
    浏览(48)
  • 海康visionmaster-VM 嵌入:嵌入用户软件界面的方法

    描述 环境:VM4.0.0 + VS2015 及以上 现象:将 VM 整体嵌入到客户软件界面中? 解答 将 VM 软件整体嵌入到客户软件中,需要利用 Panel 控件,并且需要先启动 VM 软件,具 体代码如下: C# [DllImport(“User32.dll”, EntryPoint = “SetParent”)] public static extern int SetParent(IntPtr hWndChild, IntPtr

    2024年01月21日
    浏览(40)
  • Android用户注册界面设计

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 提示:以下是本篇文章正文内容,下面案例可供参考 根据前面的学习内容,设计如图1所示的用户注册界面,要求如下: (1)将应用的名称、姓名编辑框的输入提示中的“张三”,改为自己的姓名; (

    2023年04月12日
    浏览(49)
  • MATLAB 之 可视化图形用户界面设计

    MATLAB 提供了图形用户界面开发环境(Graphical User Interface Development Environment,GUIDE),在这种开发环境下,用户界面设计变得方便、直观,实现了 “所见即所得” 的可视化设计。 1.1 图形用户界面设计模板 在 MATLAB 命令行窗口输入 guide 命令,或在 MATLAB 主窗口中选择 “主页”

    2024年02月11日
    浏览(42)
  • Qt用户图形界面设计应用(闹钟)

    什么是Qt Qt 是一个跨平台的 C++ 图形用户界面库,由挪威 TrollTech 公司于 1995 年底出品,并于 2008年6月17日被NOKIA公司收购,以增强NOKIA公司在跨平 台软件研发方面的实力,更名为Qt Software。 Qt的优点 基本上, Qt 同 X Window 上的 Motif, Openwin, GTK 等图形界 面库 和 Windows 平台上的

    2024年02月08日
    浏览(57)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包