Android應用程式架構之無邊界設計意圖

來源:互聯網
上載者:User

標籤:android   使用   os   io   for   cti   管理   ad   

Android的應用程式框架的外特性空間的描述在SDK文檔有十分清楚的描述,Android應用的基本概念,組件生命週期等等有詳細的描述。在外特性空間中,Android提供了Activity,Service,Broadcast receivers,Content Provider,Intent,task等概念,我在這裡不討論這些概念定義,因為SDK文檔已經講得夠詳細。

在閱讀SDK文檔和研究Activity這個概念時,我感覺到了在Android中若隱若現的Android自由無邊界這個設計意圖。Android的應用只是一個虛的概念,並沒有實際的入口,這個不像Window平台上的應用程式的概念,Android更多的是提供組件(Components)的概念。為什麼要虛化應用的概念?我想這個虛化就是自由無邊界設計意圖的直接體現。突出請求和服務,突出組件個體,弱化邊界,系統的各個組件可以自由的無邊界的交流,服務要求者直接發出請求,不論這個對象在何處和屬於誰的,組件是自由獨立的個體,一個應用程式可以直接請求使用其他的應用的的組件,這個是Android應用程式框架設計的核心理念,其他的一切都是在為這個核心理念服務。

讓程式員忽略應用的概念,甚至徹底的拋棄進程這樣的概念,程式員看到的就是一個一個的組件,應用程式員利用這些組件來架構成一個所謂的應用,那麼設計者首先要考慮的是什麼呢?我想應該是一個抽象的應用程式模型,在這個模型下產生概念和介面。

我們知道MicroSoft提出了Application,Windows的概念,有前景應用(Foreground Application)概念,MicroSoft的應用程式模型中使用者互動則完全交給了Window,各種介面的呈現都是屬於這個應用的是孤立的,應用程式之間的各個構成對象不能相互訪問,最多提供一個進程間通訊機制,那個也是應用程式層面的。雖然Microsoft後來也提出了組件,分布式組件等概念,但是這些不是根植在Windows系統中,而Android則是徹底的組件化思想構建,一開始的應用程式概念就是Activity,Service,Broadcast receivers,Content Provider,Intent,Task。這些概念體現了一個人機互動的模型本質:

  • 介面呈現
  • 發起請求,響應請求
  • 內容互動
  • 訊息接收處理

Activity是Android應用的核心概念,簡而言之Activity為使用者互動管理者,有一個視覺化介面呈現,而Service跟Activity的區別是他在後台運行,沒有介面呈現。而Intent的意義是意圖,他在Android的概念空間中,代表訊息,這個訊息代表了請求的意圖。

Activity可以到處存在,提供服務,消除空間差別,Activity是一個獨立的個體,更能表現物件導向的實質。這個個體需要接受另外的個體的訊息,可以隨時發起對另外一個個體的請求。個體是自由的,Android中你可以開始一個Activity,但是沒有權利消滅一個Activity,這是個體權利的體現,個體的消滅是由系統決定的,這個就是Android中Activity蘊含的人文意義。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.