編輯:關於Android編程
圖1 ( Simple_Net_Framework的基本結構 ) SimpleNet框架的基本結構類似於Volley,包括一些命名上也有跟Volley一致。它主要分為四個部分,最上面的部分為Request,即各種請求類型。例如返回的數據類型為json的對應為JsonRequest,返回數據字符串的為StringRequest,如果需要上傳文件,那麼你需要使用MultipartRequest,該請求只支持小文件的上傳,如果上傳的文件過大則會產生OOM。 第二部分為消息隊列,消息隊列維護了提交給網絡框架的請求列表,並且根據相應的規則進行排序。默認情況下更具優先級和進入隊列的順序來執行,該隊列使用的是線程安全的PriorityBlockingQueueResponseDelivery來封裝Response的投遞,保證Response執行在UI線程。
每個部分職責都相對單一,這樣便於日後的升級和維護。
圖2 但在開發過程中,我們往往會把UI和業務層耦合起來,因為它們的關系太密切了,分解起來並不是那麼容易。高手能夠把復雜的事情簡單化,而分解就是簡單化的重要手段,分解這個過程在開發過程中我們成為重構。但是如何分離UI和業務層也是本人最近想學習的,如果各位有好的解決方案,還希望多多指教。 那麼我們就引入了一個分層概念,為了便於理解你也可以按照如圖1的結構來加深理解。那麼分層有什麼優缺點呢?
1、復雜問題分解簡單化,每一層負責自己的實現,並向外提供服務;
2、職責分離,復雜的系統都有很多人員進行開發,這些功能開發的管理和集成是個很嚴重的問題,分層設計實現之後,每層只需定義好自己的對外接口,其他依賴層服務的就可以進行開發;
3、每一層對其他層都是獨立的,對外隱藏實現細節,上層無需知道下層的細節,只需調用接口即可;
4、有利於標准化。
1、分層之後對於領域業務的修改有可能需要修改很多層;
2、過多的層次影響性能。
如上所說,我們的Simple_Net_Framework並不是分層的,而是簡單的模塊化,但是理論基礎都是類似的,依賴於抽象而不依賴於實現、單一職責......這裡引入分層的概念,這是便於理解,同時也是希望大家在開發過程中能夠盡量保證模塊的內聚性、耦合性。 再看Simple_Net_Framework,Request是一個抽象的泛型類,泛型類型就是返回的Response類型,例如StringRequest就是繼承自Request
圖3 圖4 這就是Simple_Net_Framework框架的基本結構了,如果期待下一篇博客的更新,就請頂個帖吧!謝謝~ 我正在參加博客之星,點擊這裡投我一票吧,謝謝~
[Android] 你真的了解Activity嗎?
Activity是什麼?我們都知道android中有四大組件(Activity 活動,Service 服務,Content Provider 內容提供者,Broadcas
Android實習札記(6)---ViewPager使用詳解
Android實習札記(6)---ViewPager使用詳解 札記(5)中介紹了Fragment構建簡單的底部導航欄,在結尾的時候說要在下一節
用android的GCM 網絡管理來優化電池使用時間
?GCM網絡管理器能讓app注冊能執行面向網絡的服務,每個任務只是完成一個工作。它的API能處理這些任務,允許Google Play Services通過系統集中處理這些
java/android 設計模式學習筆記(23)---解釋器模式
這篇博客我們來介紹一下解釋器模式(Interpreter Pattern),也是行為型設計模式之一,是一種用的比較少的設計模式,其提供了一種解釋語言的語法或表達式的方式,