构建面向对象的应用软件系统框架 第10章
第三部分 用户界面层设计
第10章 界面层的功能划分
用户界面,承担着向用户显示问题模型和与用户进行操作和I/O交互的作用。用户界面的设计,包含技术和非技术的问题。
非技术方面,程序的界面,涉及到美工、心理学甚至社会学的内容,向客户提供方便的使用界面,是系统界面设计的一个重要内容。在某些宗教国家,甚至还可能涉及到一些宗教的敏感内容。这些都超出了本书要讨论的范围,在此就不再赘述了。
从技术的角度来看,同应用服务层一样,界面层的结构也应该是一个可维护的、可扩展的结构,在很多方面,界面层的设计原则和应用服务层的设计原则是一样的。
我们可以对用户界面这一层所要完成的功能来做一个细分。
首先,用户界面层,要完成界面表示,并同用户进行交互,接受输入和输出。
其次,根据某种条件,或者某个流程,用户界面之间在进行切换的时候,有一定的逻辑,我们不妨称之为显示逻辑。用户界面层的框架应当能够管理这种显示逻辑。尤其是在基于Web的应用系统的开发中,由于浏览器和服务器之间的无状态连接,以及页面增删的灵活性(非编译的应用程序),页面之间在进行切换的时候,涉及到系统的稳定性,以及页面间数据传递的问题,用户界面层的框架应当能够在这个方面进行有效的管理。
第三,对于一个N层的应用,业务逻辑的处理和计算,都在中间层,即应用服务层完成。应用服务层可能通过多种方式向界面层提供服务,这种方式表现为各种远程通信协议(如果是分布式应用系统的话)。因此,在用户界面层,必须有相应的模块,负责同应用服务器的通信。这个层面作为用户界面层和应用服务层的联系纽带。