|
GUI 系统的需求描述文档,列举了一个 GUI 系统应该具有的功能和在设计时应
该考虑的问题。
本文是李先静的“系统程序员成长计划”中的一篇,详细介绍了在 GUI 应用中如
何分离用户界面与内部实现。
介绍了 GUI 主循环的设计思路,并分析了 MiniGUI, GTK, QT 的主循环。
本文简单明了地总结了 23 种设计模式,介绍了每种模式的意图、适用环境,并
给出了类图和 C++ 代码,是个不错的速查手册。
本文对目前常用的游戏引擎做了评价,包括图形引擎、物理引擎,开源的、商业
的,并介绍了一个 GUI 系统 CEGUI。还是那个目的,从游戏引擎寻找灵感应用
到 GUI 系统中。
游戏引擎中有很多技术可被 GUI 系统可用,本文试图对这些技术进行归纳和介
绍。
本文试图整理和总结软件系统中架构设计的基本原则。
GUI 设计与设计模式系列:利用设计模式设计足球游戏引擎 PART A PART B
本文以一个足球游戏引擎的设计为例,介绍了 Observer、Strategy、Decorator
三种设计模式,虽然这是个游戏引擎的案例,但对 GUI 应用的开发有很大的借
鉴意义。
本文介绍了 GUI 程序设计中一些将数据与显示分离的思路和设计模式。
GUI 需要处理的事件越来越复杂。用传统的 switch 机制来处理已经无法满足需
要,需要考虑新的处理方法,有限自动机是一个不错的选择。
在 GUI 系统中对资源进行高效管理是非常重要的问题。文本以图片管理为例,
提出一个基于哈希表的 cache buffer。
GUI 系统中,回调函数扮演着非常重要的角色。本文结合一些具体的 GUI 系统,介绍了回调函数的设计和使用。
Layout 是看不见的容器组件,它可以包含 widget,并且能够根据窗口大小自动
调整 widget 的位置和尺寸。本文总结了一些主流 GUI 系统 Layout 的设计思
路和特色。
消息驱动机制是 GUI 系统的基础,消息驱动的底层基础设施之一是消息队列,
它是整个 GUI 系统运转的中枢,本文介绍了一个基于环形队列的消息队列实现方
法,给出了它的数据结构、主要操作流程和核心代码。
哈希表是使用频率非常高的数据结构,其中哈希函数是哈希表的关键,本文介绍了哈希函数的基本概念、常见设计方法,并给出了一个优化实例。
select, pselect, FD_CLR, FD_ISSET, FD_SET, FD_ZERO - synchronous I/O multiplexing.
本文介绍了两种共享内存方式,一种是用 mmap 实现共享内存,另一种是用
System V 进程通信机制。
本文介绍了 Unix Domain Socket 这种进程间通信方式,详细描述了具体流程、函数接口,并给出了示例代码。
Human interface guidelines (HIG) 是为应用程序开发者提供的一套规则,保证开发者开发的应用程序在界面上具有良好的一致性和操作性,为用户带来良好的用户体验。
本文介绍了图形用户界面系统(GUI)的发展历史。
在人和机器的互动过程 (Human Machine Interaction) 中,有一个层面,即我
们所说的界面 (interface)。从心理学意义来分,界面可分为感觉 (视觉、触觉、
听觉等) 和情感两个层次。用户界面设计是屏幕产品的重要组成部分。界面设计
是一个复杂的有不同学科参与的工程,认知心理学、设计学、语言学等在此都扮
演着重要的角色。用户界面设计的三大原则是:置界面于用户的控制之下;减少
用户的记忆负担;保持界面的一致性。
GUI 系统的需求描述文档,列举了一个 GUI 系统应该具有的功能和在设计时应
该考虑的问题。
本文收集了目前所有的 GUI 项目链接,包括开源的、不开源的,面向 PC 的、
面向嵌入式设备的,试图对目前的 GUI 现状做一个索引。
|