基於元件的業務模型---實現框架
首先,廢話少說,上截圖:
其中:
J12CompProxy為元件代理根本之所在,追根到底,實際上是Runable的子類(此處僅代表一種實現方式,可替換)
J12CompProxyFactory為元件工廠類,用於獲取元件物件
J12CompSessionData用於元件之間傳遞訊息(請注意此處的action,context,bundle)
------------------------------------------------------------------------------------------------------------------------------------------------------------
為何要用基於元件的業務模型這種方式?
1、本身業務比較豐富,功能繁多
2、業務變化快,上線緊急
基於元件的業務模型的好處?
1、每個元件包含:頁面+業務邏輯+資料,作為一個整體模組,獨立於整個系統;
2、最大程度降低耦合,保障並行開發,減少協作和溝通;
3、提高可複用性;
4、不改變原有的Android開發習慣。
先假設已存在元件A與元件B,元件A中包含ActivityA1,元件B中包含ActivityB1.
那麼如何在元件之間進行跳轉,也就是如何從ActivityA1中跳轉到ActivityB1?
此時ActivityA1只需要知道2件事:系統中存在哪些元件,以及元件支援何種功能。
那麼ActivityA1只需要告訴元件A,我要用元件B的XX功能即可實現跳轉。
~~~~~~~~~~~~~~~~
繼續詳細解釋程式碼:
元件需要繼承此類,並且實現其中的幾個方法:run()方法,execute()方法,getInstance()方法。
run()方法實際為執行緒的run()方法,這裡需要使用者去實現此方法(一般在此方法中用Intent做Activity跳轉);
execute()方法,使用者需要實現此方法,並且在此方法中new當前執行緒的物件,呼叫其start()方法來執行處理業務的run()方法;
getInstance()方法以單例模式獲取元件物件。
元件工廠類。通過類全名反射得到元件物件。
用於元件之間傳遞訊息。提供了:
context:元件獲取Activity上下文
action:用於通知元件跳轉目的地
bundle:同Intent中的bundle,元件之間傳遞訊息容器。
大概元件的實現思路是:
通過執行緒run方法來實現Activity之間的跳轉,表現為元件之間的跳轉。