1. 程式人生 > >基於元件的業務模型---實現框架

基於元件的業務模型---實現框架

首先,廢話少說,上截圖:

    


其中:

      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之間的跳轉,表現為元件之間的跳轉。