Jens Coldewey 著,Tom.X 譯
本文中的模式語言逐步深入地探討用戶界面架構的設計,它基于人機工程學,足以形成一套完整的體系。如果你對這方面有興趣,請參考[Tog92],[Coo95]和[Col95]。
本文不討論用戶界面的布局,相反,本文是關于那些驅動用戶界面的軟件的,這個模式語言的一覽圖如下圖1 所示。它從最基本的模式用戶界面層(User Interface Layer)開始,然后由另外兩個模式描述這個體系架構:分離轉換(Separate Transformation) 解釋了如何處理復雜的交互,而配件模型(Widget Model)則幫助對界面進行結構化。盡管看上去兩個模式描述的是不同的事物,實際上它們經常是被綁在一起的,從而形成基本模式User Interface Layer。
不過,還有更多細節要處理。首先,需要在用戶的不同的交互中提供上下文支持(Context Support)。根據系統的需求和架構,可以使用多種不同的模式(為了簡短起見,本文中僅使用了它們的縮略形式);除此之外,基于域層面的存取(Domain Layer Access)也是一些模式的基礎。這些模式中有些是大家都熟悉的,但有些是在用戶界面中特有的。
大部分的用戶界面架構都可以用這一套模式來描述。
部分術語說明
在這里,有些術語可能是不大常見的,這里給出它們的簡要定義,一些說明會告訴你如何尋找更詳細的信息。
面向對象的用戶界面
“面向對象的用戶界面”指的是這樣一種界面范型。用戶先選中一個對象,然后在上下文菜單里面選中一個操作,或者選中一個對象直接操作。Macintosh 的用戶界面就是這種界面的一個例子:用戶選中一個文件,然后決定對它進行什么操作,她可以雙擊它來進行操作,也可以把它拖到打印機圖標上去打印,或者干其它想干的事情。術語“面向對象”在這里指的是一種交互風格,而不是實現技術,盡管使用面向對象設計和編程通常是構建這類用戶界面的好主意。在[Col95]中有更詳細的例子。?