第三課--Android組件

組件從字面看意思就是組合部件。

在程序中使用組件設計思想是在軟件規模擴大,複雜度上升的背景下,以面向對象爲基礎而提出的一種軟件設計思想。可以把它理解爲一種更粗粒度的面向對象,其粒度一般大於對象,但具體要到什麼程度,又可以根據實際情況來決定。這種思想以組件爲基礎,強調“服務”的概念。

面向組件具有以下特點:

低耦合性:組件之間一般互不依賴,一個組件只需要知道另一個組件的“名字”就可以訪問它;

高重用性:系統級的重用;

高互操作性:不同的開發商開發出來的組件只要定義好了接口就可以互相訪問;

進程的透明性:組件可以工作在同一個進程也可以工作在不同的進程;

語言和開發環境的獨立性:組件只需要定義好服務接口,內部實現可以採用任何語言。

面向組件的框架已經有很多了,如JavaBeanEJBCOM等。Android系統並沒有聲稱自己是面向組件的,但從其設計思想來看,Android一開始的設計考慮就是要採用一種“無邊界”的設計方式,要實現系統內資源高度的重用。

首先要有一個組件容器,負責加載和運行組件。

其次要有一個統一的接口或基類,用來規範組件行爲,方便加載和調用。

還要有一個配置信息文件,通知組件容器具體加載那個組件。

每個組件都有自己的生命週期方法,組件容器會在特定的條件下調用不同的生命週期方法。

Android完全符合面向組件的特徵,它提供了ActivityServiceBroadcastReceiverContentProvider四大組件,它都是組件的基類。

還有ServiceManagerActivityManagerService這2個系統服務用於充當組件容器,它是保證組件間協同工作的最重要的基礎,同時它們本身也是一種組件。Android各個組件之間實現了低耦合,ActivityActivityActivityServiceServiceService之間的都只需知道對方的“名字”就可以訪問它。而且,它們之間的重用是系統級的,尤其是Service,任何部署在系統裏的Service可以爲任何一個應用,任何一個進程,任何一個組件來提供服務。它也滿足高互操作性,任何開發者開發出來的組件,只要公佈其接口就可以爲其他開發者所用。

AndroidManifest.xml清單文件,所有組件都必須在它裏面註冊纔可以使用。

切記,永遠不要手動創建組件實例,或手動調用生命週期方法,這些工作都應該是組件容器完成的


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章