Android 中的MVC與資料流動

來源:互聯網
上載者:User

今天看了一個Android的Training生命週期轉換的例子,頓覺得他的設計非常巧妙,我的分析如下:

         1.在com.example.android.lifecycle包中有:

                    3個正常的全屏activity,一個類似dialog的activity

         2.在com.example.android.lifecycle.util包中有:

                    StatusTracker.java, 用於將activity產生的已執行的周期函數和當前的狀態儲存在兩個list中

                    Utils.java, 用一個線程動態更新activity中的兩個顯示當前周期函數調用棧幀和當前activity所處的狀態

         當讀到這個代碼時,覺得寫的很順意,很快就知道這是怎麼回事兒,我把它歸結為:

                    activity中產生資料(訊息),切換狀態

                    StatusTracker.java 儲存資料(訊息)

                    Utils.java 讀取或是說消費資料,也可以說是將訊息展示出來。

          這似乎和出名的MVC相像,但有不全像,但此種設計確非常的清晰,而且非常的高效

          這裡把資料的產、存、消分開寫,思路很不錯

         

          在android的開發中,我覺得也應用到MVC,他將資料與邏輯分離,這樣看起來思路清晰

          Activity無時無刻不在與使用者接觸,接受使用者的事件,資料等,然後響應,做出一定的改變,

          對此,我覺得應該也把相應的資料和邏輯分出來,這樣不至於第二次看代碼時,還不知道這

          部分是幹嘛用的,還得苦心思去冥想這個類在此扮演了什麼角色。

            Android中,呈現資料的效果無疑不是xml檔案,這個可以做為view,沒有邏輯

            在activity中有一堆的事件監聽,我認為可以把獲得使用者的事件的訊息分離出來,另外寫一個

           包或類控制器來處理,監聽事件中只負責接受訊息,將訊息傳入控制器,根據控制器來更新view

          模型當然是獨立的了,有控制器來串連,主要用來做資料的儲存、封裝等

        

          總的來說,xml檔案為試圖view ,監聽器做為控制器的一部分, 而模型應當獨立出來,這樣我覺得代碼

          的維護就比較簡單了。

        

 

相關文章

聯繫我們

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