《BREW進階與精通——3G移動增值業務的運營、定製與開發》連載之42—BUIW 介紹

來源:互聯網
上載者:User

在BUIW中採用了MVC的設計模式(圖10-3),MVC(Model
/View/Controller)是程式開發中經常使用的一種模式,它很好地實現了資料層與展示層的分離。MVC把應用程式分為三種物件類型:模型,維護資料並提供資料存取方法;視圖,繪製模型的部分資料或所有資料的可視圖;控制器處理事件。視圖事先會在模型中登記,當模型資料發生改變時,馬上通知已向此模型登記的每個視圖。視圖從模型取得最新的資料並重新整理自己。 

Widgets在互連網上是一種時髦的技術,而在這裡,Widgets是一個外掛程式式可擴充的UI組件架構,是視窗化的應用程式框架,並引入了容器的概念,實際上,容器是一類特殊的widget。

Model 提供了驅動widget內容的實際資料,管理Listener的註冊行為,而並不關注資料的可視化表達。有點像STL,不同的model支援不同的資料類型例如鏈表,向量組等,也支援特定控制項或介面的資料類型。當資料發生變化時,Model會向關注該資料的發起者發送通知。IModel是一個基礎介面,其他的Model介面都派生於IModel介面,有IValueModel,IArrayModel,IVectorModel,IInterfaceModel,IMenuModel和ITextModel等。

Widget是視窗上的小的控制項,如文字框,圖片框等,來完成一個Model中的資料表達,而不需要知道顯示的位置,只需要知道內容和顯示的地區。Widget 監聽Model中資料的變化,按照開發人員的需要來顯示資料,可以不做顯示處理,或者部分顯示,甚至做到後台改變。Widget同時管理焦點和按鍵事件,IWidget是一個基礎介面,其他的Widget介面都派生於IWidget介面,有ICheckWidget,I
RadioWidget,IButtonWidget,IProgressWidget,ITextWidget,ISliderWidget和IWaitCursorWidget 等。

Container來管理一組widgets的位置和布局,控制Widgets在螢幕上顯示的次序,通常一個widget
自身就可以成為一個Container。根據布局的原則,Container像堆棧一樣管理Widget。Widget在其中由底向上存放,所以Widget被疊加的時候,在堆棧底層的Widget可能被隱蔽,螢幕中只顯示堆棧頂層的Widget。也就是說,Container先畫最底層的Widget,然後逐層向上實現螢幕顯示。IContainer是一個基礎介面,其他的Widget介面都派生於IWidget介面,有IPropContainert,IConstraintContainer,IXYContainer,ICardContainer和IDecorator等。一個decorator是一個特殊的container用來管理和修飾指定的 widget,通IDecorator可以實現BorderWidget,BlendWidget,ImageWidget,TabWidget,ScrollbarWidget,ScrollIndicatorWidget,ViewportWidget,TitleWidget,ListWidget,GridWidget和PickWidget等等。 

Form是針對頁面顯示的,有兩類:RootForm和一般的Form。RootForm 預先實現了一般通用的螢幕布局,負責管理Form堆棧,為Forms定義了可視化元素,包括標題、背景和軟健包括標題,軟鍵按鈕和背景,設定標題的地區,軟鍵按鈕的顯示地區,一組form的用戶端區域,區別彈出對話方塊和手機的全螢幕顯示,管理未處理的按鍵事件並分發給當前的form,而且,RootForm中的元素是可以被替換或刪除。

Form同樣包含標題,軟鍵按鈕和背景等顯示元素,當顯示元素的內容發生變化是發出相應的通知,擷取當前Widget沒有處理的事件。Form負責應用的邏輯,構建和放置Widgets,設定Model中的資料,處理應用的執行流程。IForm是一個基礎介面,其他的Form介面都派生於IWidget介面,主要有ListForm,StaticForm和PopupForm。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.